| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.8.3
* fixed a possible Lua stack overflow when sending complex function
through lindas or as lane body
* experimental: lanes.nameof() scans the registry if a regular search
didn't yield anything interesting
* fixed lanes.nameof() misbehaving when encountering a LUA_TTHREAD
object
|
|
|
|
|
|
|
|
| |
* bumped version to 3.8.2
* new lane launcher option gc_cb to set a callback that is invoked when
a lane is garbage collected
* Fix more invalid memory accesses when fetching the name of a joined
lane with lanes:threads() (because its lua_State is closed)
|
|
|
|
|
| |
slightly improve linda performance when the producer/consumer scenario
leaves leave the key empty
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bump version to 3.8.1
* new function lane:get_debug_threadname()
* Fix invalid memory accesses when fetching the name of a joined lane
with lanes:threads() (because its lua_State is closed)
* use luaL_newmetatable() to create the metatable for lane objects
* prevent malicious code from crashing by calling lane methods without
passing the lane as first argument (raise an error instead)
* set_debug_threadname() is no longer registered in the function lookup
databases because it holds a C pointer as upvalue and it might crash if
used maliciously
|
|
|
|
|
|
|
| |
* bumped version to 3.8.0
* linda:set() accepts multiple values to set in the specified slot
* linda:get() accepts an optional count to peek several values at once
* nil values are now converted just as in send()/receive()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.7.8
* lane:cancel() now accepts a boolean second argument when soft
cancelling (negative timeout) to wake the thread if necessary
* if a blocked linda send() or receive() call is interrupted by a
cancellation request, it returns CANCEL_ERROR so that this case can be
differentiated from a simple timeout
* fixed WIN32 THREAD_CREATE() wrong _beginthreadex() error detection
* fatal WIN32 threading errors retrieve and output the error description
string with FormatMessage()
* fixed missing lanes.set_singlethreaded
* fixed perftest.lua
* added test/cancel.lua
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.7.7
* fix crash when calling linda:count() on unknown keys
* purge key storage with linda:set( key, nil) on an unlimited key to
reduce memory usage with lots of keys
* linda:limit() wakes write-blocked threads if necessary when the new
limit enables writes to occur again
* linda:set() wakes write-blocked threads if necessary if the operation
created some room to write into
|
|
|
|
|
|
| |
* if config.on_state_create() is a C function, call it by direct C
closure reconstruction in newly created states
* bumped version to 3.7.6
|
|
|
| |
Actually, you shouldn't need malloc.h at all, it's obsolete; including stdlib.h should take care of what malloc.h used to handle.
|
|
|
|
|
|
|
| |
* fixed a crash that can occur at shutdown when an object stored inside
a keeper state performs a linda operation on a linda making use of
another keeper
* bumped version to 3.7.5
|
|
|
|
|
| |
use demote_full_userdata to select between light userdata demotion or
raising an error when attempting to transfer a non-deep full userdata
|
| |
|
| |
|
| |
|
|
|
|
| |
instances
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* bumped version to 3.7.3
* set pthread thread cancel type to PTHREAD_CANCEL_ASYNCHRONOUS
* lane_h:cancel() accepts a 3rd timeout argument used when waiting for
actual thread termination (hitting the timeout raises an error)
* added PROPAGATE_ALLOCF macro to select state creation mode
(lua_newstate or luaL_newstate)
|
|
|
|
| |
options enabled
|
|
|
|
| |
options enabled
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
failure.
|
| |
|
|
|
|
|
| |
library
Fix issue #77.
|
|
|
| |
Fix issue #76.
|
|
|
| |
Fix issue #74.
|
|
|
| |
See issue #73.
|
| |
|
|
|
|
| |
* make EnableCrashingOnCrashes a one-time operation
* attempt to catch SIGABRT
|
|
|
|
| |
* Fixed function returned by lanes.genlock() not handling numeric keys properly when release lock
* Enable lanes.genlock() to attempt lock with an optional "try" mode
|
| |
|
|
|
|
| |
ERROR_WAIT_NO_CHILDREN means a thread was killed (lane terminated because of error raised during a linda transfer for example) while having grabbed some mutex
this seems not to be a big problem as we will grab it just the same, so ignore this particular error
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
set_error_reporting() transferable from lane to lane
|