| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
is called
|
|
|
|
|
|
| |
don't clobber each other in the result table
In the original implementations, the debug name was used as key, which meant that several lanes using the same name would cause only the oldest non-collected one to be listed in the results. Now the result is an array of tuples.
|
|
|
|
|
| |
opt.cancelstep is gone, hook is installed by lane:cancel() if requested
lane:cancel() rework (see doc)
|
|
|
|
|
|
| |
lots of data)
+ more code refactoring
|
| |
|
| |
|
| |
|
|
|
|
| |
embedders-friendly)
|
|
|
|
| |
full userdata
|
| |
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
|
| |
* Fix a stack overflow when copying large tables with verbose_errors
option enabled
* Support for integer formatting in verbose errors
|
|
|
|
|
| |
Support for user-provided __gc
Improved example
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
* better LuaJIT-specific headers detection
* add LuaJIT-specific libraries when known
* properly raise an error when attempting to transfer a LUAT_CDATA value
* some compilationg warning fixes
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.9.0
* keepers now require "package", receive package.path & package.cpath,
and call on_state_create() if it is a C function
* changed the deep public API (improved deep idfunc signature, renamed
luaG_deep_userdata to luaG_newdeepuserdata)
* if an error occurs while copying a deep userdata, don't raise inside
the keeper state
* fixed situations where raised errors could lead to memory leaks (deep
gc)
|
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.8.5
* linda:limit() returns lanes.cancel_error on a limited linda
* lanes.genlock() and lanes.genatomic() support cancelled lindas by
returning lanes.cancel_error whenever appropriate
* fixed a possible Lua stack overflow when calling linda:dump()
* fixed cases where linda:send() and linda:receive() would not return
lanes.cancel_error when they should
|
|
|
|
|
|
|
| |
* bumped version to 3.8.4
* all linda operations return lanes.cancel_error on a cancelled linda
* raised an internal string length so that longer linda names are fully
output before truncation applies when doing tostring( linda)
|