aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* minor version bumpBenoit Germain2013-01-101-1/+1
|
* Enable transfer of recursive upvalued functionsBenoit Germain2013-01-101-68/+55
| | | Removed a limitation preventing Lua functions with indirect recursive upvalue references from being transferable.
* Don't pull "package" settings in the timer laneBenoit Germain2013-01-101-1/+1
| | | Fixes an error when requiring lanes with active timers after having required "luarocks.loader" (issue #42).
* Added some upvalues inter-copy debug codeBenoit Germain2013-01-091-21/+28
|
* threads() raises an error if tracking is disabledBenoit Germain2012-12-171-1/+1
|
* Fixed lane tracking featureBenoit Germain2012-12-171-64/+128
|
* lanes.threads(): public APIBenoit Germain2012-12-141-2/+7
|
* lanes.threads(): core implementationBenoit Germain2012-12-141-31/+112
|
* Fix lanes.timers()Benoit Germain2012-12-141-1/+2
|
* Copyright notice updateBenoit Germain2012-12-121-1/+1
|
* Copyright notice updateBenoit Germain2012-12-121-1/+2
|
* minor version bumpBenoit Germain2012-12-121-2/+3
|
* New API lanes.timers()Benoit Germain2012-12-121-12/+42
|
* fix issue #40Benoit Germain2012-12-031-3/+3
| | | linda:send() and linda:receive() no longer trigger string->number autocoercion when checking for the optional timeout argument: a string is always a linda slot, even if coercible.
* Same selfdestruct chain handling on all platformsBenoit Germain2012-11-271-1/+1
|
* Use prctl when pthread_setname_np isn't availableBenoit Germain2012-11-271-1/+18
|
* fix issue #39Benoit Germain2012-11-221-10/+39
| | | linda:set() no longer clears the storage limit.
* fix application shutdown crash by not registering anything with atexit()v3.4.0Benoit Germain2012-11-213-4/+19
|
* Separated public "deep" API declarations in a dedicated header.Benoit Germain2012-11-182-5/+18
|
* Raise an error on multiple-named functions.Benoit Germain2012-10-251-43/+41
| | | | | | | | | | | | | Lua 5.2 introduced a hash randomizer seed which causes table iteration to yield a different key order on different VMs even when the tables are populated the exact same way. When Lua is built with compatibility options (such as LUA_COMPAT_ALL), this causes several base libraries to register functions under multiple names. This, with the randomizer, can cause the first name of a function to be different on different VMs, which breaks function transfer. This means that Lua 5.2 must be built with compatibility off to be able to use Lanes. Even under Lua 5.1, this may cause trouble (even if this would be much less frequent) Unfortunately, this fails with string.gfind/string.gmatch when Lua 5.1 is built with LUA_COMPAT_GFIND (which is the case of LuaBinaries), so for the time being, fail only for Lua 5.2 as the randomizer is the real show breaker here.
* Lua version sanity checkBenoit Germain2012-10-231-3/+14
|
* Fixed the fix...Benoit Germain2012-10-231-1/+1
|
* Fixed thread name retrieval in main state.Benoit Germain2012-10-231-2/+7
|
* More informative messages on failed transfers.Benoit Germain2012-10-231-4/+7
|
* Always set "decoda_name" global in a new Lane.Benoit Germain2012-10-231-0/+4
|
* Fixed a comment to match the codeBenoit Germain2012-10-231-1/+1
|
* build fixesBenoit Germain2012-10-202-18/+19
|
* version 3.4.0Benoit Germain2012-09-265-25/+107
| | | | | | | | | | * 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
* minor internal changesBenoit Germain2012-09-133-76/+86
| | | | | | * 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
* code tweaks to enable building against win32-pthread on windows platforms.Benoit Germain2012-09-112-15/+33
| | | | not active by default, see threading.h.
* fixed a bad forward declarationbenoit-germain2012-09-111-87/+96
|
* version 3.3.0Benoit Germain2012-09-103-230/+332
| | | | | | | | | | | | * 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.
* Make *really* sure we build for all platforms :-)benoit-germain2012-08-251-0/+4
|
* Fix ubuntu compilation errorsbenoit-germain2012-08-251-1/+2
| | | | * missing inclusion of <stdint.h> * use __min instead of min
* lanes version 3.2.0v3.2.0Benoit Germain2012-08-224-21/+427
| | | | | * keeper internals implemented in C instead of Lua for better performances * fixed arguments checks in linda:limit() and linda:set()
* Fix 64 bits compilation warnings (issue #34)benoit-germain2012-08-201-3/+3
|
* code updated to build against Lua 5.1 and Lua 5.2v3.1.6Benoit Germain2012-08-144-25/+51
|
* * removed the search for MSVCR80.DLL when building for MinGW32 since it no ↵Benoit Germain2012-08-141-8/+1
| | | | longer seems to be necessary
* Proper crash fix, part 2benoit-germain2012-08-101-3/+3
|
* Good crash fix this time, part 1benoit-germain2012-08-101-1/+1
|
* Yet another shutdown crash fixbenoit-germain2012-08-101-0/+4
| | | | 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).
* fix possible crash at application shutdown when a race condition causes ↵Benoit Germain2012-08-104-21/+21
| | | | linda objects to be collected after the keeper states are cleaned up.
* lanes.linda() accepts an optional name argumentbenoit-germain2012-08-061-6/+33
|
* one more step toward 5.2 compatibilityv3.1.5Benoit Germain2012-07-105-46/+32
| | | | | | * 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"
* expose lua51-lanes.now_secs() as lanes.now_secs()Benoit Germain2012-07-081-0/+1
| | | | (resolves issue #29)
* * when a transfered function is not found in source, guess its name to help ↵v3.1.4Benoit Germain2012-06-274-14/+129
| | | | | | the user find out what's wrong * new function lanes.nameof()
* fix crash at application exit when encountering a blocked lane on which ↵benoit-germain2012-06-251-1/+1
| | | | lane:cancel() has been called. (issue #28).
* more explicit error code when THREAD_WAIT fails.benoit-germain2012-06-251-1/+1
|
* fix issue #25Benoit Germain2012-06-242-31/+38
| | | | | | * lanes.timer() accepts a first_secs=nil to stop a timer * timer lane catches errors and prints them * fixed some typos in manual
* fix abusive internal error message displayed when the timer lane decides it ↵benoit-germain2012-06-201-2/+2
| | | | has to wake up in 0ms or when timer lane is cancelled.