diff options
author | Benoit Germain <benoit.germain@ubisoft.com> | 2024-06-11 18:17:46 +0200 |
---|---|---|
committer | Benoit Germain <benoit.germain@ubisoft.com> | 2024-06-11 18:17:46 +0200 |
commit | 529c31f3a4ca26f2f57052db352e1f686317b19c (patch) | |
tree | 47f9244f0e48a51e6b052374159708d948275bf2 /CHANGES | |
parent | 6073478ce424b3e50e639b3f37e876a9cacc8a73 (diff) | |
download | lanes-529c31f3a4ca26f2f57052db352e1f686317b19c.tar.gz lanes-529c31f3a4ca26f2f57052db352e1f686317b19c.tar.bz2 lanes-529c31f3a4ca26f2f57052db352e1f686317b19c.zip |
Preliminary summary of changes resulting in Lanes 4.0.0
Diffstat (limited to 'CHANGES')
-rw-r--r-- | CHANGES | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -1,5 +1,38 @@ | |||
1 | CHANGES: | 1 | CHANGES: |
2 | 2 | ||
3 | CHANGE 2: BGe 11-Jun-24 | ||
4 | * Lanes API changes | ||
5 | - Version is now 4.0.0 | ||
6 | - Lanes configuration settings: | ||
7 | - demote_full_userdata removed. | ||
8 | - keepers_gc_threshold added. Control when GC runs inside keepers. | ||
9 | - nb_keepers changed to nb_user_keepers. limited to 100 keepers on top of the internal keeper used by the timer Linda. | ||
10 | - shutdown_mode added. Controls how free running lanes are signalled at Lanes shutdown. | ||
11 | - strip_functions added. Only useful for Lua 5.3+. | ||
12 | - verbose_errors removed. | ||
13 | - with_timers is false by default. | ||
14 | - Full userdata conversion: | ||
15 | - __lanesignore removed. | ||
16 | - __lanesconvert added. Also replaces the global Lanes setting demote_full_userdata. | ||
17 | - Lanes API and behavior: | ||
18 | - new function lanes.finally(). Installs a function that gets called at Lanes shutdown. | ||
19 | - lanes can no longer be "killed" by hard-stopping their thread without any resource cleanup (see lane:cancel()). | ||
20 | - lane:join(), linda:receive(), linda:send() return nil, error in case of problem. | ||
21 | - lane function body must return a non-nil first value on success if lane is waited upon with lane:join(). | ||
22 | - lanes.sleep() accept a new argument "indefinitely" to block forever (until hard cancellation is received). | ||
23 | - Lindas: | ||
24 | - providing "auto" as name when constructing a Linda cause Lanes to provide a name built from the source location of the construction. | ||
25 | - specifying a group to lanes.linda() is mandatory when Lanes is configured with user Keepers. | ||
26 | - linda:deep() result no longer contains the raw C pointer of the Linda object. | ||
27 | - Lane generator settings: | ||
28 | - error_trace_level added. Replaces the global verbose_errors setting. | ||
29 | - name added. Can be used to set the name early (before the lane body calls set_debug_threadname()). | ||
30 | * Internal changes | ||
31 | - Lanes is implemented in C++20: jthread, condition_variable, mutex, string_view, variant, and more! | ||
32 | - Decoda support inactive by default. | ||
33 | - Linda no longer bind to random keepers if group is not provided on construction. Provide one! | ||
34 | - Deep userdata interface fully revamped to C++20 too. | ||
35 | |||
3 | CHANGE 1: BGe 9-Apr-24 | 36 | CHANGE 1: BGe 9-Apr-24 |
4 | * reset changelog, next entry will list API changes since last C-implementation. | 37 | * reset changelog, next entry will list API changes since last C-implementation. |
5 | 38 | ||