aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* expose error sentinel lanes.cancel_errorbenoit-germain2012-06-191-0/+1
|
* * linda:receive() batched mode now accepts a max_count optional argumentBenoit Germain2012-06-122-31/+50
|
* * fixed thread_cancel() not working when called without argumentBenoit Germain2012-06-051-53/+115
| | | | * new lane-global function set_error_reporting() to enable more data detailed data provided by lane_error()
* bumping version number to 3.1.1v3.1.1Benoit Germain2012-05-081-1/+1
|
* Improve LuaJIT compatibility, part #2: timer lane generator uses "*" library ↵benoit-germain2012-04-261-1/+1
| | | | list
* Improve LuaJIT compatibility, part #1: "*" library list is loaded through ↵benoit-germain2012-04-261-2/+10
| | | | luaL_openlibs()
* Fix issue #15 (lanes fails to build on Linux x86_64 (gcc 4.6.1) size_t vs ↵benoit-germain2012-04-241-4/+1
| | | | int size)
* Merge pull request #17 from LuaDist/550dd55b0e571577a4ca6ccc880738f1268adb57benoit-germain2012-04-241-13/+6
|\ | | | | merge commits from steve
| * MinGW build now does not use MS runtimesteve donovan2011-03-161-13/+6
| |
* | * changed lanes.configure signature to receive a table instead of individual ↵Benoit Germain2012-02-186-95/+108
| | | | | | | | | | | | parameters * added support for an on_state_create callback called to load custom functions in a state in addition to the base libraries
* | crashfix: WIN32 builds shouldn't THREAD_WAIT on a THREAD_KILL'ed thread, ↵benoit-germain2011-11-151-1/+3
| | | | | | | | (but pthread builds must still do it to make sure the thread is no longger running)
* | bugfix: restore ABOUT info where it belongs, in the lanes module table, ↵benoit-germain2011-11-151-1/+1
| | | | | | | | instead of the global scope.
* | * removed packagepath and packagecpath options, replaced by a package table, ↵Benoit Germain2011-11-144-142/+141
| | | | | | | | | | | | | | 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
* | fix link on Ubuntu 11.10Benoit Germain2011-11-091-1/+1
| |
* | some more compilation warning fixesBenoit Germain2011-11-093-9/+11
| |
* | Merge remote-tracking branch 'origin/master'Benoit Germain2011-11-071-0/+2
|\ \
| * | Cause `lanes.configure()` to return the module table to enable the `require ↵benoit-germain2011-11-071-0/+2
| | | | | | | | | | | | "lanes".configure()` idiom.
* | | * fix all compilation warnings raised by -WextraBenoit Germain2011-11-073-19/+23
|/ / | | | | | | * fix a multithreading issue at desinit causing invalid memory accesses (to be verified)
* | * process exit change: close everything at GC when main state closes, not ↵Benoit Germain2011-11-057-285/+877
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Debug code to check why LuaJIT2-beta8 fails to load the module.benoit-germain2011-06-241-5/+14
| |