aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fix application shutdown crash by not registering anything with atexit()v3.4.0Benoit Germain2012-11-214-4/+23
|
* rockspec for version 2.4.0Benoit Germain2012-11-212-57/+15
|
* Separated public "deep" API declarations in a dedicated header.Benoit Germain2012-11-183-17/+38
|
* 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
|
* Commented out some obsolete code in CMakeListsBenoit Germain2012-10-201-11/+11
|
* version 3.4.0Benoit Germain2012-09-2616-925/+1253
| | | | | | | | | | * 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
* removed fixed BUGS entriesv3.3.0benoit-germain2012-09-141-71/+0
|
* minor internal changesBenoit Germain2012-09-134-77/+91
| | | | | | * 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-107-244/+369
| | | | | | | | | | | | * 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.
* rockspec for v3.3.0Benoit Germain2012-09-101-0/+54
|
* 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-229-28/+437
| | | | | * keeper internals implemented in C instead of Lua for better performances * fixed arguments checks in linda:limit() and linda:set()
* lanes version 3.2.0Benoit Germain2012-08-221-55/+0
| | | | | * keeper internals implemented in C instead of Lua for better performances * fixed arguments checks in linda:limit() and linda:set()
* rockspec for version 3.2.0Benoit Germain2012-08-221-0/+54
|
* Fix 64 bits compilation warnings (issue #34)benoit-germain2012-08-201-3/+3
|
* remove previous rockspecBenoit Germain2012-08-141-55/+0
|
* code updated to build against Lua 5.1 and Lua 5.2v3.1.6Benoit Germain2012-08-146-28/+60
|
* * removed the search for MSVCR80.DLL when building for MinGW32 since it no ↵Benoit Germain2012-08-141-8/+1
| | | | longer seems to be necessary
* Rockspec for version 3.1.6Benoit Germain2012-08-141-0/+55
|
* 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-105-21/+24
| | | | linda objects to be collected after the keeper states are cleaned up.
* Update docs/index.htmlbenoit-germain2012-08-061-1/+1
|
* Update CHANGESbenoit-germain2012-08-061-1/+3
|
* lanes.linda() accepts an optional name argumentbenoit-germain2012-08-061-6/+33
|
* rockspec for v3.1.5Benoit Germain2012-07-101-0/+55
|
* one more step toward 5.2 compatibilityv3.1.5Benoit Germain2012-07-1010-287/+58
| | | | | | * 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-276-112/+146
| | | | | | the user find out what's wrong * new function lanes.nameof()
* * discard old rockspecsBenoit Germain2012-06-278-751/+0
|
* * 3.1.4 rockspecBenoit Germain2012-06-271-0/+91
|
* * fixed 'require' test scriptBenoit Germain2012-06-271-2/+2
|
* 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-244-35/+47
| | | | | | * 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.
* expose error sentinel lanes.cancel_errorbenoit-germain2012-06-191-0/+1
|
* * 3.1.3 rockspecv3.1.3Benoit Germain2012-06-121-0/+91
|
* * linda:receive() batched mode now accepts a max_count optional argumentBenoit Germain2012-06-124-32/+57
|