Krasimir Angelov
|
35e47b9fac
|
robustness by reinitializing the locks if dead processes are found
|
2023-02-22 17:41:50 +01:00 |
|
Krasimir Angelov
|
6d856b2ce0
|
make it possible to control the initial NGF size
|
2023-01-29 21:04:08 +01:00 |
|
Krasimir Angelov
|
fc6ded1759
|
one more fix for thread local on MSVC
|
2023-01-25 23:26:09 +01:00 |
|
Krasimir Angelov
|
696a9ffb16
|
thread local for MSVC
|
2023-01-25 23:16:02 +01:00 |
|
Krasimir Angelov
|
8f7e4c084c
|
an API to create unique function names
|
2022-12-05 08:11:43 +01:00 |
|
Krasimir Angelov
|
a6aa6c2a5a
|
constant time and space grammar embedding
|
2022-11-16 09:43:09 +01:00 |
|
Krasimir Angelov
|
d784e2584b
|
A lower-level transaction API and a transaction command in the shell
|
2022-10-24 10:44:40 +02:00 |
|
Krasimir Angelov
|
c3c1cf2a64
|
on POSIX systems use mprotect to protect the data from accidental changes
|
2022-07-05 15:59:06 +02:00 |
|
Krasimir Angelov
|
73d4e326f7
|
consolidation of free blocks
|
2022-07-05 13:21:53 +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
|
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
|
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
|
3c1a3fb899
|
bugfix
|
2022-05-20 19:49:27 +02:00 |
|
Krasimir Angelov
|
607b8d6d23
|
next attempt to fix Windows
|
2022-05-20 16:08:10 +02:00 |
|
Krasimir Angelov
|
825a43caf2
|
third fix for Windows
|
2022-05-20 15:58:21 +02:00 |
|
Krasimir Angelov
|
43ca1079d7
|
fix the compilation on Windows
|
2022-05-20 15:40:59 +02:00 |
|
Krasimir Angelov
|
5594679a83
|
first draft of the new allocator with transactions support
|
2022-05-20 13:55:45 +02:00 |
|
Krasimir Angelov
|
8960e00e26
|
speed up booting by implementing realloc+padovan
|
2022-02-09 10:36:42 +01:00 |
|
Krasimir Angelov
|
19f7fb8d5e
|
added const specifier
|
2022-01-09 18:20:47 +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
|
3134a89307
|
reduce import symbols
|
2021-11-26 15:00:24 +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
|
c806ce2d26
|
minimal changes to make the runtime compilable on Windows
|
2021-11-10 15:52:02 +01:00 |
|
krangelov
|
547783e50e
|
PgfDB::ref_count must be size_t
|
2021-11-03 11:50:21 +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
|
1401a6d209
|
Fix (most) macOS compilation problems
|
2021-10-12 10:46:39 +02:00 |
|
krangelov
|
e11e775a96
|
merge pgf_free and pgf_free_revision since otherwise we cannot control the finalizers in Haskell
|
2021-09-22 13:21:07 +02:00 |
|
krangelov
|
e41feae82a
|
database synchronization only on commit
|
2021-09-17 16:43:54 +02:00 |
|
krangelov
|
6cfa250b28
|
PgfDB::sync is now moved to the desctructor for DB_scope
|
2021-09-11 18:20:28 +02:00 |
|
krangelov
|
4e443374de
|
restore the thread local declarations that were accidentally removed
|
2021-09-11 18:06:28 +02:00 |
|
krangelov
|
ae0a6aa6b6
|
clean up everything after revision is not needed anymore.
|
2021-09-11 16:33:22 +02:00 |
|
krangelov
|
1b09e7293f
|
implemented pgf_free_revision
|
2021-09-10 11:39:54 +02:00 |
|
krangelov
|
28321cc023
|
added dropFunction
|
2021-09-09 09:47:26 +02:00 |
|
krangelov
|
44ee5718e9
|
more friendly PgfDB::malloc
|
2021-09-08 14:27:52 +02:00 |
|
krangelov
|
bcc33af36b
|
added support for branches and explicit transaction commit
|
2021-09-08 14:09:23 +02:00 |
|
krangelov
|
2e846cdf59
|
added safeguard to ensure that PgfRevision is an actual object
|
2021-09-08 09:17:12 +02:00 |
|
krangelov
|
a843ddba55
|
better error handling which always reports the right file name
|
2021-09-07 15:54:27 +02:00 |
|
krangelov
|
e1c23da0a6
|
forgot updating the header as well
|
2021-09-07 09:49:45 +02:00 |
|
krangelov
|
9cea2cc70e
|
change the API to allow different grammar revisions
|
2021-09-06 15:49:39 +02:00 |
|
krangelov
|
fb2454767a
|
add method "free"
|
2021-09-03 19:58:28 +02:00 |
|
krangelov
|
b28e891a6b
|
a type annotated version of marshaller/unmarshaller
|
2021-08-26 17:27:34 +02:00 |
|