aboutsummaryrefslogtreecommitdiff
path: root/src/lanes.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Minor tweaksv3.16.1Benoit Germain2023-08-161-3/+3
|
* new .internal_allocator configuration IUNTESTED)Benoit Germain2023-08-091-13/+3
| | | | new configuration option .internal_allocator to help LuaJIT users. THIS IS YET UNTESTED, USE AT YOUR OWN RISKS.
* tweaks to linux thread priority managementBenoit Germain2023-07-281-38/+39
|
* moonjit supportBenoit Germain2022-03-091-22/+22
|
* Make allocator threadsafe by default when running LuaJIT, because LuaJIT ↵Benoit Germain2022-02-211-6/+6
| | | | allocator is not
* NEVER use allocator obtained from lua_getallocf to allocate stuff manually ↵Benoit Germain2022-02-171-4/+18
| | | | when compiling for LuaJIT
* removed explicit calls to malloc/freeBenoit Germain2022-02-071-20/+22
| | | | Lane and linda userdata were allocated with malloc/free, preventing embedders from fully controlling memory operations. Now all internal Lanes allocations go through the master state alloc function.
* Changed all indentations to all whitespacesBenoit Germain2022-02-071-1443/+1443
| | | | Tabs mess up alignment of stack contents comments, so I'm done with them.
* correctly transfer the uservalue of a deep userdataBenoit Germain2021-06-241-1/+2
|
* changed lanes.threads() output so that several lanes with the same name ↵Benoit Germain2021-06-161-20/+25
| | | | | | 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-37/+30
| | | | | opt.cancelstep is gone, hook is installed by lane:cancel() if requested lane:cancel() rework (see doc)
* Moved cancellation code in separate filesBenoit Germain2019-04-221-201/+2
|
* DEBUGSPEW_CODE in cancel_hookBenoit Germain2019-04-201-0/+1
|
* lane:cancel internal code refactorizationBenoit Germain2019-04-191-79/+72
|
* Lua 5.4 supportBenoit Germain2018-11-271-5/+6
|
* Lanes version available in public headerBenoit Germain2018-11-261-3/+4
|
* protect_allocator configure option is gone, long live allocator (more ↵Benoit Germain2018-11-251-57/+11
| | | | embedders-friendly)
* finish registry access revampBenoit Germain2018-11-231-29/+23
|
* More DEBUGSPEW loggingBenoit Germain2018-11-211-2/+3
|
* Internal code tweaksBenoit Germain2018-11-191-32/+30
| | | | | | * 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-2/+4
| | | | Deep protocol)
* split linda code in a separate fileBenoit Germain2018-11-151-1011/+3
|
* fix a bunch of compilation warnings (issue #157)Benoit Germain2018-11-111-6/+5
|
* new API lanes.set_thread_affinity(), and et_debug_threadname implemented ↵Benoit Germain2018-11-091-0/+12
| | | | with win32 pthread
* Make sure any linda operation that can raise an error won't ever leave a ↵Benoit Germain2018-11-081-41/+58
| | | | mutex unreleased
* __lanesclone mechanism should actually work nowBenoit Germain2018-11-071-0/+1
|
* Fix potential crash at application shutdown when deep userdata were created ↵Benoit Germain2018-11-071-1/+4
| | | | before Lanes is required
* fix an internal error trying to call on_state_create in a lane without any ↵Benoit Germain2018-11-031-6/+3
| | | | | | | 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-1/+1
|
* Enum buildfixBenoit Germain2018-11-021-2/+2
|
* Another lua_pushlightuserdata->push_unique_key internal replacementBenoit Germain2018-10-311-4/+5
|
* Improve LuaJIT-x64 compatibilityBenoit Germain2018-10-301-33/+41
| | | | | Restrict internal "light userdata constants" to 47 significant bits when compiling against LuaJIT-x64
* Fix Lanes build by reorganizing types around a bitBenoit Germain2018-10-251-66/+68
|
* Fix for deep-aware modulesBenoit Germain2017-08-011-23/+22
| | | | | | 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-37/+36
|
* Table transfer improvementsBenoit Germain2017-06-051-8/+34
| | | | | | | | * 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
* Bump version, update docv3.10.1Benoit Germain2016-11-211-1/+1
|
* Fix 64 bits compilation warningsBenoit Germain2016-11-211-2/+2
|
* Preparing next releasev3.10.0Benoit Germain2015-04-271-1/+1
|
* Fix segfault in LG_lane_newmpeterv2015-02-241-3/+3
| | | | | | | | | | 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.
* preliminary Lua 5.3 supportBenoit Germain2014-12-161-4/+4
| | | | Untested, but it might just work :).
* New API lanes.sleep (bumped version to 3.9.7)Benoit Germain2014-09-181-1/+1
|
* fix lookup of globals created by on_state_createBenoit Germain2014-07-081-4/+12
| | | | | | * 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-2/+3
| | | | | | | | | * 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-118/+123
| | | | | | * bumped version to 3.9.5 * lanes.gen() error reporting improvements * fix linda.__towatch to return non-nil when the linda is empty
* Fix undefined returned value by linda:send()Benoit Germain2014-04-241-2/+1
|
* Fix build issues with compat.c/hBenoit Germain2014-04-231-3/+0
|
* moved compatibility code in a separate fileBenoit Germain2014-04-031-0/+1
|
* Fixed error handling when handler isn't calledBenoit Germain2014-03-201-206/+207
| | | | | | | | * 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-1/+1
|