| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* new method linda:dump() that outputs the full contents of a linda as a table, also linked to __towatch for Decoda support
* linda:receive() API change!
* instead of [val, key], linda:receive( timeout, key) returns [key, val]
* instead of [val, [...]], linda:receive( timeout, linda.batched key) returns [key, val[, ...]]
this is to unify the return values of regular and batched mode, and to be able to tell when batched mode is interrupted by a lane cancellation
* fixed Lua 5.2 build to take into account the "loaders"->"searchers" name change in 'package' module.
* a bit of html cleanup and added some infos in the documentation regarding the Lanes internals
|
|
|
|
|
|
| |
* implemented set_debug_threadname() for pthread builds where possible
* refactored linda __tostring and __concat
* linda metatable's __metatable is a string instead of a boolean
|
|
|
|
| |
not active by default, see threading.h.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lane.status can return "killed" if lane was forcefully killed with lanes:cancel()
* lane:join(): return nil, "killed" if called on a killed lane.
* lane[<n>]: produces [1] = nil, [2] = "killed" if the lane was killed
* lane:join(): fixed an assertion in debug builds when joining a lane forcefully cancelled with lane:cancel( <x>, true).
* indexing a lane with a string other than "join", "cancel" or "status" raises an error.
* fixed configure() to correctly apply defaults when they are missing from the provided settings
* added a shutdown_timeout to control the duration Lanes will wait for graceful termination of running lanes at application shutdown. Default is 0.25.
Among other things, fixes issue #31.
|
| |
|
|
|
|
| |
* missing inclusion of <stdint.h>
* use __min instead of min
|
|
|
|
|
| |
* keeper internals implemented in C instead of Lua for better performances
* fixed arguments checks in linda:limit() and linda:set()
|
| |
|
| |
|
|
|
|
| |
longer seems to be necessary
|
| |
|
| |
|
|
|
|
| |
Perform keeper desinit in two stages, in case the keeper state being closed contains a reference to a linda bound to a previously desinitialized keeper, causing it to be destroyed after its keeper state.
(occurs only for applications using more than one keeper).
|
|
|
|
| |
linda objects to be collected after the keeper states are cleaned up.
|
| |
|
|
|
|
|
|
| |
* lua51-lanes renamed lanes.core
* keeper state microcode is no longer embedded inside lanes.core, but located and loaded with package.loaders[2]
* changed rockspec build type from "make" to "builtin"
|
|
|
|
| |
(resolves issue #29)
|
|
|
|
|
|
| |
the user find out what's wrong
* new function lanes.nameof()
|
|
|
|
| |
lane:cancel() has been called. (issue #28).
|
| |
|
|
|
|
|
|
| |
* lanes.timer() accepts a first_secs=nil to stop a timer
* timer lane catches errors and prints them
* fixed some typos in manual
|
|
|
|
| |
has to wake up in 0ms or when timer lane is cancelled.
|
| |
|
| |
|
|
|
|
| |
* new lane-global function set_error_reporting() to enable more data detailed data provided by lane_error()
|
| |
|
|
|
|
| |
list
|
|
|
|
| |
luaL_openlibs()
|
|
|
|
| |
int size)
|
|\
| |
| | |
merge commits from steve
|
| | |
|
| |
| |
| |
| |
| |
| | |
parameters
* added support for an on_state_create callback called to load custom functions in a state in addition to the base libraries
|
| |
| |
| |
| | |
(but pthread builds must still do it to make sure the thread is no longger running)
|
| |
| |
| |
| | |
instead of the global scope.
|
| |
| |
| |
| |
| |
| |
| | |
whose fields path, cpath, loaders, preload are transfered
* code cleanup to facilitate transition between WIN32 and PTHREAD impleentations
* tentative fix for desinit crashes when free running lanes are killed at process shutdown
|
| | |
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | | |
"lanes".configure()` idiom.
|
|/ /
| |
| |
| | |
* fix a multithreading issue at desinit causing invalid memory accesses (to be verified)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
when atexit() handlers are processed
* Lua 5.2-style module:
* module() is no longer used to implement lanes.lua
* a global "lanes" variable is no longer created when the module is required
* the Lanes module table is returned instead
* Lanes must be initialized before used:
* the first occurence of 'require "lanes"' produces a minimal interface that only contains a configure() function
* the remainder of the interface is made available once this function is called
* subsequent calls to configure() do nothing
* configure() controls the number of keeper states and the startup of timers
* LuaJIT 2 compatibility
* non-Lua functions are no longer copied by creating a C closure from a C pointer, but through 2-way lookup tables
* this means that if a lane function body pulls non-Lua functions, the lane generator description must contain the list of libraries and modules that exports them
* introduces a change in configuration .globals management: contents are copied *after* std libs are loaded
* new .required configuration entry to list modules that must be require()'ed before lane body is transferred
* lane:cancel() wakes up waiting lindas like what is done at lane shutdown
|
| | |
|
| |
| |
| |
| | |
silently doing nothing.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* new linda:count() method
* new linda batched data read mode
* proper key type check in all linda methods
* fix setup-vc.cmd to support Visual Studio 2010 and Windows 7 64 bits
* bugfix: release keeper state mutex at desinit
|
|/
|
|
|
|
| |
* linda honors __tostring and __concat
* new accessor linda:keys(), to retrieve the list of keys with pending data inside a linda
* new lanes options packagepath and packagecpath, in case one needs to set them differently than the default
|
| |
|
| |
|