aboutsummaryrefslogtreecommitdiff
path: root/CHANGES (follow)
Commit message (Collapse)AuthorAgeFilesLines
* __lanesclone now receives the original as light userdata the first time it ↵Benoit Germain2021-06-231-1/+4
| | | | is called
* changed lanes.threads() output so that several lanes with the same name ↵Benoit Germain2021-06-161-9/+13
| | | | | | 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.
* Lane cancellation reworkBenoit Germain2019-04-261-0/+4
| | | | | opt.cancelstep is gone, hook is installed by lane:cancel() if requested lane:cancel() rework (see doc)
* don't test __lanesignore for POD types (-> slightly faster when trasnfering ↵Benoit Germain2018-11-301-0/+4
| | | | | | lots of data) + more code refactoring
* Split a megafunction in smaller partsBenoit Germain2018-11-281-0/+3
|
* Lua 5.4 supportBenoit Germain2018-11-271-0/+4
|
* Lanes version available in public headerBenoit Germain2018-11-261-0/+3
|
* protect_allocator configure option is gone, long live allocator (more ↵Benoit Germain2018-11-251-0/+3
| | | | embedders-friendly)
* Raise an error instead of crashing when attempting to transfer a non-deep ↵Benoit Germain2018-11-231-0/+3
| | | | full userdata
* More DEBUGSPEW loggingBenoit Germain2018-11-211-0/+3
|
* Internal code tweaksBenoit Germain2018-11-191-0/+5
| | | | | | * Registry access code utility macros * CONFIG_REGKEY and LOOKUP_REGKEY are now lightuserdata instead of strings * Stack checking debug macros improvements
* Deep userdata must embed DeepPrelude to save an allocation (also changes ↵Benoit Germain2018-11-151-0/+3
| | | | Deep protocol)
* rockspec for version v3.13.0Benoit Germain2018-11-151-0/+4
|
* fix a bunch of compilation warnings (issue #157)Benoit Germain2018-11-111-0/+3
|
* new API lanes.set_thread_affinity(), and et_debug_threadname implemented ↵Benoit Germain2018-11-091-0/+4
| | | | with win32 pthread
* Make sure any linda operation that can raise an error won't ever leave a ↵Benoit Germain2018-11-081-0/+4
| | | | mutex unreleased
* __lanesclone mechanism should actually work nowBenoit Germain2018-11-071-0/+3
|
* Fix potential crash at application shutdown when deep userdata were created ↵Benoit Germain2018-11-071-0/+3
| | | | before Lanes is required
* fix an internal error trying to call on_state_create in a lane without any ↵Benoit Germain2018-11-031-0/+4
| | | | | | | libs loaded always duplicate the config structure in new lanes even when no libraries are initialized by the generator
* Fix error with LuaJIT when ffi package isn't requiredBenoit Germain2018-11-021-0/+4
|
* Better protect_allocator autodetectionBenoit Germain2018-10-311-0/+3
|
* Update changelogBenoit Germain2018-10-301-0/+3
|
* Merge changesBenoit Germain2018-10-291-0/+10
|\
| * Fix Lanes build by reorganizing types around a bitBenoit Germain2018-10-251-0/+3
| |
| * verbose_error improvementsBenoit Germain2018-07-091-0/+4
|/ | | | | | * Fix a stack overflow when copying large tables with verbose_errors option enabled * Support for integer formatting in verbose errors
* Deep userdata improvementsBenoit Germain2017-08-021-0/+4
| | | | | Support for user-provided __gc Improved example
* Fix for deep-aware modulesBenoit Germain2017-08-011-0/+4
| | | | | | Don't crash when using a module that creates Lanes-compatible deep userdata. Added a sample deep-aware module.
* Accept non-string error messagesBenoit Germain2017-06-131-0/+3
|
* Table transfer improvementsBenoit Germain2017-06-051-0/+5
| | | | | | | | * 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
* Suppress a #pragma messageBenoit Germain2017-05-101-1/+1
|
* Improve LuaJIT supportBenoit Germain2017-05-101-0/+4
| | | | | | | * 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
* Bump version, update docv3.10.1Benoit Germain2016-11-211-0/+7
|
* Preparing next releasev3.10.0Benoit Germain2015-04-271-1/+6
|
* New API lanes.sleep (bumped version to 3.9.7)Benoit Germain2014-09-181-0/+4
|
* fix lookup of globals created by on_state_createBenoit Germain2014-07-081-0/+4
| | | | | | * Postponed _G scan for function lookup database to after on_state_create invocation * Fixed a crash when USE_DEBUG_SPEW == 1
* Deep userdata changesBenoit Germain2014-06-171-0/+5
| | | | | | | | | * 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()
* Minor fixes and tweaksBenoit Germain2014-05-161-0/+14
| | | | | | * bumped version to 3.9.5 * lanes.gen() error reporting improvements * fix linda.__towatch to return non-nil when the linda is empty
* Fixed error handling when handler isn't calledBenoit Germain2014-03-201-0/+6
| | | | | | | | * 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
* Don't mutex-wrap require() more than onceBenoit Germain2014-03-191-0/+3
|
* Fixed crash when using protect_allocator optionBenoit Germain2014-03-171-0/+3
|
* linda:send() improvementsBenoit Germain2014-02-271-0/+6
| | | | | | | | | * 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)
* Fixed some compilation warningsBenoit Germain2014-02-261-0/+1
|
* Multiverse compatibilityBenoit Germain2014-02-261-0/+9
| | | | | | | | | | | | | | | * 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
* Multi-state initialisation issueBenoit Germain2014-02-241-0/+3
| | | | | Fix lookup database table not being created when it should if Lanes is required in more than one Lua master state
* more graceful handling of out-of-memory errorsBenoit Germain2014-02-181-0/+3
| | | | | * raise an error instead of dereferencing a NULL pointer on deep userdata creation and lane struct creation
* Lanes init crash fixBenoit Germain2014-02-181-0/+7
| | | | | | | | | | | * 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
* lindas can have a group for keeper state assignation controlBenoit Germain2014-02-171-0/+3
|
* Deep userdata support improvementsBenoit Germain2014-02-171-0/+7
| | | | | | | | | | | | * 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)
* more fixes/tweaks about cancelled lindasBenoit Germain2014-02-131-0/+7
| | | | | | | | | | * 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
* new API linda:cancel("read"|"write"|"both"|"none")Benoit Germain2014-02-101-0/+6
| | | | | | | * 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)