summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* * 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
|
* * 3.1.2 rockspecv3.1.2Benoit Germain2012-06-051-0/+91
|
* * fixed thread_cancel() not working when called without argumentBenoit Germain2012-06-053-58/+130
| | | | * 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-083-1/+10
|
* 3.1.1 rockspecBenoit Germain2012-05-081-0/+91
|
* 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-243-45/+7
|\ | | | | merge commits from steve
| * assert() throws because result is too large to be an integersteve donovan2011-03-161-1/+1
| |
| * MinGW build now does not use MS runtimesteve donovan2011-03-162-44/+6
| |
* | * rockspec for v3.1.0v3.1.0Benoit Germain2012-02-181-0/+91
| |
* | * changed lanes.configure signature to receive a table instead of individual ↵Benoit Germain2012-02-1831-158/+199
| | | | | | | | | | | | parameters * added support for an on_state_create callback called to load custom functions in a state in addition to the base libraries
* | Merge remote-tracking branch 'origin/master'v3.0.0Benoit Germain2012-01-092-2/+4
|\ \
| * | 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.
* | | rockspec for version 3.0.0Benoit Germain2012-01-091-0/+97
|/ /
* | * removed packagepath and packagecpath options, replaced by a package table, ↵Benoit Germain2011-11-146-147/+151
| | | | | | | | | | | | | | 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 inconsistency in rockspecBenoit Germain2011-11-131-1/+1
| |
* | fix link on Ubuntu 11.10Benoit Germain2011-11-091-1/+1
| |
* | some more compilation warning fixesBenoit Germain2011-11-093-9/+11
| |
* | update rockspecv3.0-betabenoit-germain2011-11-071-1/+1
| |
* | 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-0536-336/+1092
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | 3.0-beta rockspecBenoit Germain2011-11-051-0/+97
| |
* | Debug code to check why LuaJIT2-beta8 fails to load the module.benoit-germain2011-06-241-5/+14
| |
* | linda:send() raises an error when there is no data to send instead of ↵v2.2.0Benoit Germain2011-05-143-1/+9
| | | | | | | | silently doing nothing.
* | * linda uses a fast FIFO implementation to speed up data exchangesBenoit Germain2011-04-181-0/+223
|\ \ | | | | | | | | | | | | | | | | | | | | | * 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
| * | Release keeper state mutex at module desinit.benoit-germain2011-04-111-0/+1
| | |
* | | * linda uses a fast FIFO implementation to speed up data exchangesBenoit Germain2011-04-188-162/+310
|/ / | | | | | | | | | | | | | | * 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
* / New featuresBenoit Germain2011-03-305-12/+197
|/ | | | | | * 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
* hopefully fix pthread compilation (and should work better under WIN32 too...)v2.1.0Benoit Germain2011-03-021-2/+2
|
* fix typo in timer function codebenoit-germain2011-03-021-1/+1
|
* rockspecs for 2.0.11 and 2.1.0 (latest not operational yet since tag doesn't ↵Benoit Germain2011-03-012-2/+99
| | | | exist)
* Just a small fix necessary because -Werror is used and GCC 4.2 on OS X ↵Benoit Germain2011-03-011-1/+1
| | | | complains.
* * fixed potential crash at application shutdown when calling lua_close() on ↵Benoit Germain2011-03-017-133/+250
| | | | | | | a killed thread's VM. * exposed cancel_test() in the lanes to enable manual testing for cancellation requests. * removed kludgy {globals={threadName}} support, replaced with a new function set_debug_threadname().
* Make the number of internal keeper states selectable by an optional ↵Benoit Germain2011-02-216-57/+71
| | | | parameter passed to require.
* * keeper.lua is now embedded in text form instead of bytecode to improve ↵Benoit Germain2011-02-1811-242/+347
| | | | | | LuaJIT2-compatibility (but this is not enough). * moved keeper-related code in a separate source file
* Lane userdata implementation refactoring:Benoit Germain2011-02-1710-188/+346
| | | | | | | | | | | | | | | - Refactor lane proxy implementation: it is now a full userdata instead of a table, and its methods are implemented in C instead of Lua. * its metatable is no longer accessible. * writing to the proxy raises an error. * it is no longer possible to overwrite its join() and cancel() methods - when a deep userdata idfunc requests a module to be required, manually check that it is not loaded before requiring it instead of relying on the require function's loop detection feature. - when a module must be required, raise an error if the 'require' function is not found in the target state. - we know Lanes is loaded in the master state, so we don't force it to be required in every lane too when a linda deep userdata is copied.
* Fixed application hang-up because keeper state was not released in case of ↵Benoit Germain2011-02-145-8/+31
| | | | errors thrown by inter-state data copy for unsupported types
* Fixed application hang-up because keeper state was not released in case of ↵Benoit Germain2011-02-143-312/+413
| | | | errors thrown by inter-state data copy for unsupported types
* Changed idfunc signature and contract to clarify that fact it is not ↵Benoit Germain2011-02-128-188/+226
| | | | lua-callable and to be able to require the module it was exported from in the target lanes.
* Added rockspec fileBenoit Germain2011-01-291-0/+96
|
* Updated CHANGESv2.0.11Benoit Germain2011-01-293-4/+14
| | | | | Fixed makefile so that make finds lua.exe Updated contact information in documentation
* Merge branch 'pull_request_2' of https://github.com/dptr1988/lanesBenoit Germain2011-01-262-38/+26
|\
| * Changed lanes.c to export functions as a module rather than writing them ↵Peter Dettwiler2011-01-252-38/+26
| | | | | | | | directly to the globals table.
* | Changed the atexit code to trip the timer thread's write signal.dptr19882011-01-231-5/+9
| | | | | | | | | | | | | | | | | | This fixes one of the causes of the "pthread_cond_destroy(ref) failed, 16 EBUSY" error, in which the timer thread was stuck waiting on the write_happend signal and never read the cancel request. This doesn't fix the issue of attempting to cancel threads waiting on a Linda signal. So this error message ( and seg fault ) can easily be recreated just by making a new thread, having it wait indefinitly on a Linda and then trying to cancel the thread.