From adaa36dbec1ce9aaafd61873b9d3d898a8c240cf Mon Sep 17 00:00:00 2001
From: Benoit Germain
- This document was revised on 23-Feb-24, and applies to version 3.16.3. + This document was revised on 11-Apr-24, and applies to version 3.17.0.
@@ -290,6 +290,19 @@ +.keepers_gc_threshold
+ .with_timers
@@ -351,7 +364,6 @@
The contents will be used to create the state with lua_newstate( allocF, allocUD).
This option is mostly useful for embedders that want to provide different allocators to each lane, for example to have each one work in a different memory pool thus preventing the need for the allocator itself to be threadsafe.
- Note however that linda deep proxy are allocated with the allocator from the master state, because they are not tied to a particular state.
- {{name = "name", status = "status", ...}|nil = lanes.threads()
+ {name = "name", status = "status", ...}|nil = lanes.threads()
|
Starting with version 3.13.0, a new way of passing full userdata across lanes uses a new __lanesclone metamethod.
- When a deep userdata is cloned, Lanes calls __lanesclone once, in the context of the source lane.
- The call receives the clone and original as light userdata, plus the actual userdata size, as in clone:__lanesclone(original,size), and should perform the actual cloning.
+ When a deep userdata is cloned, Lanes calls __lanesclone once, in the context of the source lane.
+ The call receives the clone and original as light userdata, plus the actual userdata size, as in clone:__lanesclone(original,size), and should perform the actual cloning.
A typical implementation would look like (BEWARE, THIS CHANGED WITH VERSION 3.16.0):
static int clonable_lanesclone( lua_State* L) -- cgit v1.2.3-55-g6feb |