aboutsummaryrefslogtreecommitdiff
path: root/src/keeper.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* one more step toward 5.2 compatibilityv3.1.5Benoit Germain2012-07-101-14/+13
| | | | | | * 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"
* * changed lanes.configure signature to receive a table instead of individual ↵Benoit Germain2012-02-181-11/+7
| | | | | | parameters * added support for an on_state_create callback called to load custom functions in a state in addition to the base libraries
* * process exit change: close everything at GC when main state closes, not ↵Benoit Germain2011-11-051-27/+85
| | | | | | | | | | | | | | | | | | | | 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
* * linda uses a fast FIFO implementation to speed up data exchangesBenoit Germain2011-04-181-6/+30
| | | | | | | | * 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
* * fixed potential crash at application shutdown when calling lua_close() on ↵Benoit Germain2011-03-011-0/+6
| | | | | | | 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-211-20/+19
| | | | parameter passed to require.
* * keeper.lua is now embedded in text form instead of bytecode to improve ↵Benoit Germain2011-02-181-0/+199
LuaJIT2-compatibility (but this is not enough). * moved keeper-related code in a separate source file