| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
* lanes.timers() can return nil, cancel_error if interrupted
* linda:receive() always return a k,v, where k is nil when v is "timeout" or cancel_error
* lanes.sleep returns nil, "timeout" during normal operations
|
| |
|
|
|
|
|
|
|
| |
* use a std::variant to manage the distinction between one or more keeper states. Use std::unique_ptr<Keeper[]> to manage the multiple keeper case.
* setting "nb_keepers" renamed "nb_user_keepers", to indicate these are in addition to internal keeper #0 used for timers.
* stricter lanes.linda() argument checking. group is imposed if more than one keeper is used.
* more tests
|
|
|
|
| |
calls)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* set_error_reporting() is gone
* new lane generator setting error_reporting_level
* basic/extended stack trace is selectable at runtime instead of compile-time
|
| |
|
| |
|
|
|
|
|
| |
* timeout clarifications (negative values are no longer accepted, use nil instead)
* linda(send, linda.null, key, ...) removed, if you want to send a nil, just do it as usual
|
|
|
|
|
| |
* lanes.sleep accepts 'indefinitely'.
* settings.with_timers is false by default
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
win32 pthread support is gone
new setting configure.shutdown_mode for cancellation of free-running threads at shutdown.
no more hard thread termination! If a thread doesn't cooperate, an error is raised.
lane.status "killed" is gone
lane:cancel can't force-kill.
|
| |
|
| |
|
|
|
|
| |
new configuration option .internal_allocator to help LuaJIT users. THIS IS YET UNTESTED, USE AT YOUR OWN RISKS.
|
|
|
|
| |
allocator is not
|
|
|
|
| |
Tabs mess up alignment of stack contents comments, so I'm done with them.
|
|
|
|
|
| |
opt.cancelstep is gone, hook is installed by lane:cancel() if requested
lane:cancel() rework (see doc)
|
| |
|
| |
|
| |
|
|
|
|
| |
embedders-friendly)
|
|
|
|
| |
with win32 pthread
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
not called manually
|
|
|
|
|
| |
Fixes crash on require under Lua 5.3 without LUA_COMPAT_5_2.
Fixes utf8 library not loaded under Lua 5.3.
|
| |
|
|
|
|
|
|
| |
* 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.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.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)
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
use demote_full_userdata to select between light userdata demotion or
raising an error when attempting to transfer a non-deep full userdata
|
| |
|
| |
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix lanes.threads() not being available in a lane where
lanes.configure() settings didn't contain track_lanes although the
initial configure() call did.
* require "lanes".configure() sequence is only necessary at the first
require "lanes".
* fix a crash at application shutdown where in some situations we could
deinitialize the protected allocator mutex while a lane was still using
it.
* fix timers broken by change 69
|
| |
|
|
|
|
|
|
|
|
| |
no longer call core.configure with dummy params when requiring lanes
more than once (fixes potential multithreading issues with LuaJIT
allocator)
activated EnableCrashingOnCrashes() Win32 debug builds
fixed some comments in code
|