| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
opt.cancelstep is gone, hook is installed by lane:cancel() if requested
lane:cancel() rework (see doc)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
embedders-friendly)
|
| |
|
| |
|
|
|
|
|
|
| |
* Registry access code utility macros
* CONFIG_REGKEY and LOOKUP_REGKEY are now lightuserdata instead of strings
* Stack checking debug macros improvements
|
|
|
|
| |
Deep protocol)
|
| |
|
| |
|
|
|
|
| |
with win32 pthread
|
|
|
|
| |
mutex unreleased
|
| |
|
|
|
|
| |
before Lanes is required
|
|
|
|
|
|
|
| |
libs loaded
always duplicate the config structure in new lanes even when no
libraries are initialized by the generator
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Restrict internal "light userdata constants" to 47 significant bits when
compiling against LuaJIT-x64
|
| |
|
|
|
|
|
|
| |
Don't crash when using a module that creates Lanes-compatible deep
userdata.
Added a sample deep-aware module.
|
| |
|
|
|
|
|
|
|
|
| |
* new API function lanes.register( "name", module) to manually register
a module table after it was required
* Transfering registered module tables will link the equivalent in the
destination state instead of cloning it
* bumped version to 3.11
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
STACK_END macro was used to check stack size of child Lua state _after_
its thread was launched. That could lead to the check failing as the child
thread started manipulating the stack. The macro then called lua_error
on the child state from the parent thread, causing a segfault as Lua C API
is not thread-safe.
The fix is to place STACK_END statements before THREAD_CREATE statement.
|
|
|
|
| |
Untested, but it might just work :).
|
| |
|
|
|
|
|
|
| |
* Postponed _G scan for function lookup database to after
on_state_create invocation
* Fixed a crash when USE_DEBUG_SPEW == 1
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.9.6
* separate deep userdata code in a dedicated file to allow external
modules to implement Lanes-compatible deep userdata without requiring a
binary dependency against the Lanes module. because of this linda_id
function(eDO_metatable) must push 2 values on the stack: a metatable and
a deep version string obtained from luaG_pushdeepversion()
|
|
|
|
|
|
| |
* bumped version to 3.9.5
* lanes.gen() error reporting improvements
* fix linda.__towatch to return non-nil when the linda is empty
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* bumped version to 3.9.4
* set_finalizer throws an error if provided finalizer isn't a function
* fix error handling when the error doesn't generate an error handler
call (IOW, all errors but LUA_ERRRUN)
* provide callstack if LUA_ERRRUN occurs inside a finalizer
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Bumped version to 3.9.3
* new exposed variable linda.null that exposes the internal NIL_SENTINEL
marker
* linda:send() interprets send key linda.null as authorization to
silently send a single nil when not provided with anything to send
(useful when sending results of a function that can return nothing)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.9.2
* Internal rework: the whole Lanes engine now works "per universe" to
allow concurrent Lanes execution in more than one embedded master state
* this universe is a full userdata created in the master state,
selfdestruct_gc is the __gc for this userdata
* most of what was initialized only once is now per-universe
* Fixed potential crashes at desinit if problems occur during keeper
states initialisation
* Fixed require() not always serialized properly
* Raise an error instead of crashing on deep userdata prelude memory
allocation failure
* Added forgotten mutex desinitialisation at universe shutdown
|
|
|
|
|
| |
Fix lookup database table not being created when it should if Lanes is
required in more than one Lua master state
|
|
|
|
|
| |
* raise an error instead of dereferencing a NULL pointer on deep
userdata creation and lane struct creation
|
|
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.9.1
* keeper array is allocated with master state's alloc function instead
of malloc()/free()
* prevent application crash when specifying a very large number of
keepers in the configuration options
* removed some keeper desinit legacy dead code
* any error occuring during one-time inits is raised outside the
one-time mutex protected code region
|
| |
|