Commit Graph

71 Commits

Author SHA1 Message Date
Krasimir Angelov
73d4e326f7 consolidation of free blocks 2022-07-05 13:21:53 +02:00
Krasimir Angelov
feb9b3373f fix the type cast, to avoid warnings on some platforms 2022-07-04 14:25:17 +02:00
Krasimir Angelov
69a2b8a448 second attempt to fix the compilation 2022-06-29 21:48:48 +02:00
Krasimir Angelov
46a9a8f07d fix the compilation on Windows and macOS 2022-06-29 21:40:51 +02:00
Krasimir Angelov
88477a8834 added mutex for single writer exclusion 2022-06-29 16:28:01 +02:00
Krasimir Angelov
109f8c86e8 more bugfixes in the allocator 2022-05-28 07:43:56 +02:00
Krasimir Angelov
02e45f478f avoid std::min since it is not available on macOS 2022-05-25 08:13:03 +02:00
Krasimir Angelov
363abce351 small fixes 2022-05-24 14:07:17 +02:00
Krasimir Angelov
d66cf23811 Revisions now correspond to revision_entry:s in the database. 2022-05-23 13:59:03 +02:00
Krasimir Angelov
a3d73fa658 register_revision must refresh the transaction to the latest 2022-05-23 11:33:47 +02:00
Krasimir Angelov
165de70172 debug messages for revision handling 2022-05-23 11:05:59 +02:00
Krasimir Angelov
31e20ffd84 more debug messages 2022-05-23 10:31:29 +02:00
Krasimir Angelov
e794f46e49 merge set_active_revision() with commit() 2022-05-23 09:58:43 +02:00
Krasimir Angelov
35176cc721 descriptors released in the last transaction are now reused in the next 2022-05-23 09:50:58 +02:00
Krasimir Angelov
9cd5634873 better debugging output in the allocator 2022-05-20 20:21:22 +02:00
Krasimir Angelov
3c1a3fb899 bugfix 2022-05-20 19:49:27 +02:00
Krasimir Angelov
483285e193 bug fixes in the allocator 2022-05-20 17:49:45 +02:00
Krasimir Angelov
f82b0088ed fix for Windows 2022-05-20 16:20:45 +02:00
Krasimir Angelov
37e1707f18 hopefully last attempt 2022-05-20 16:15:45 +02:00
Krasimir Angelov
825a43caf2 third fix for Windows 2022-05-20 15:58:21 +02:00
Krasimir Angelov
ddce47270b more Windows fixes 2022-05-20 15:49:23 +02:00
Krasimir Angelov
43ca1079d7 fix the compilation on Windows 2022-05-20 15:40:59 +02:00
Krasimir Angelov
22d98833f9 fix the compilation on MacOS 2022-05-20 15:09:33 +02:00
Krasimir Angelov
5594679a83 first draft of the new allocator with transactions support 2022-05-20 13:55:45 +02:00
Krasimir Angelov
546dc01b5d fix the compilation on Windows and Mac 2022-02-09 10:39:36 +01:00
Krasimir Angelov
8960e00e26 speed up booting by implementing realloc+padovan 2022-02-09 10:36:42 +01:00
Krasimir Angelov
9513c968db fix the sanity checking for valid revisions 2022-02-02 11:49:16 +01:00
Krasimir Angelov
00f857559d restore the sharing of sequences. Shrinks the grammar by ~45% 2022-01-08 19:49:42 +01:00
Krasimir Angelov
cd2c6aa32a cleanup transient revisions only after a transaction is opened 2021-12-29 14:52:21 +01:00
Krasimir Angelov
dca6611d84 synchronize the mmap sizes between processes 2021-12-29 11:16:21 +01:00
krangelov
4792665241 back to storing rwlocks in a separate file to avoid moving the lock 2021-12-22 22:19:56 +01:00
krangelov
db92bcfff6 fix for MacOS 2021-11-16 09:53:41 +01:00
krangelov
4a62ea02f4 destroy the r/w lock if there is no shared file 2021-11-16 09:48:50 +01:00
krangelov
c26f3b3cd5 an attempt to fix the failure on MacOS 2021-11-16 09:36:26 +01:00
krangelov
f5e6c695a7 make r/w lock shared only if there is a shared file as well 2021-11-16 08:53:22 +01:00
krangelov
c80ef3549c fix error reporting when the r/w lock is created 2021-11-16 08:47:07 +01:00
krangelov
e0b93a37e2 fix the compilation on Windows again 2021-11-15 13:39:47 +01:00
krangelov
c1690ffa77 the r/w lock is now in the database itself 2021-11-15 13:13:00 +01:00
krangelov
92ecc8cc1d finished porting to Windows 2021-11-13 05:40:38 +01:00
krangelov
9804d993e4 remove the dependency to pthread on Windows 2021-11-10 17:27:45 +01:00
krangelov
68fd5460f4 fix cleanup after exceptions in PgfDB::PgfDB 2021-11-10 17:10:31 +01:00
krangelov
c806ce2d26 minimal changes to make the runtime compilable on Windows 2021-11-10 15:52:02 +01:00
krangelov
befb61b0e3 first steps towards porting to Windows 2021-11-09 19:08:49 +01:00
krangelov
309a16d471 reference counting for concrete syntaxes 2021-11-03 10:48:20 +01:00
krangelov
157574763f now we use inter-process locking 2021-10-25 19:14:25 +02:00
krangelov
1413c273cc API for adding concrete syntaxes. Garbage collection to be fixed! 2021-10-21 19:18:14 +02:00
John J. Camilleri
ac93f2dd10 Don't call msync in PgfDB::sync on macOS 2021-10-18 13:54:13 +02:00
John J. Camilleri
c9b668a583 Fix compilation with macOS mmap/malloc workaround. Add Python (macOS) to CI. 2021-10-15 17:34:19 +02:00
John J. Camilleri
8cd0bb5ec1 Use malloc/realloc on macOS when fd < 0... but doesn't compile 2021-10-15 15:24:15 +02:00
krangelov
45ee985fda safe error reporting in case of mmap failure 2021-10-13 21:33:55 +02:00