aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Create lanes-3.8.3-1.rockspecv3.8.3Benoit Germain2014-01-241-0/+66
|
* another Lua stack overflow fixBenoit Germain2014-01-242-1/+5
|
* 2 crash fixes and 1 experimentBenoit Germain2014-01-225-13/+28
| | | | | | | | | | * bumped version to 3.8.3 * fixed a possible Lua stack overflow when sending complex function through lindas or as lane body * experimental: lanes.nameof() scans the registry if a regular search didn't yield anything interesting * fixed lanes.nameof() misbehaving when encountering a LUA_TTHREAD object
* new lane launcher option gc_cbBenoit Germain2014-01-225-78/+169
| | | | | | | | * bumped version to 3.8.2 * new lane launcher option gc_cb to set a callback that is invoked when a lane is garbage collected * Fix more invalid memory accesses when fetching the name of a joined lane with lanes:threads() (because its lua_State is closed)
* linda performance improvementBenoit Germain2014-01-203-81/+66
| | | | | slightly improve linda performance when the producer/consumer scenario leaves leave the key empty
* Turn potential malicious-crafted code crashes into normal Lua errorsBenoit Germain2014-01-204-103/+127
| | | | | | | | | | | | | * bump version to 3.8.1 * new function lane:get_debug_threadname() * Fix invalid memory accesses when fetching the name of a joined lane with lanes:threads() (because its lua_State is closed) * use luaL_newmetatable() to create the metatable for lane objects * prevent malicious code from crashing by calling lane methods without passing the lane as first argument (raise an error instead) * set_debug_threadname() is no longer registered in the function lookup databases because it holds a C pointer as upvalue and it might crash if used maliciously
* get()/set() improvementsBenoit Germain2014-01-206-78/+101
| | | | | | | * bumped version to 3.8.0 * linda:set() accepts multiple values to set in the specified slot * linda:get() accepts an optional count to peek several values at once * nil values are now converted just as in send()/receive()
* Cancellation improvements and some fixesBenoit Germain2014-01-168-126/+258
| | | | | | | | | | | | | | | * bumped version to 3.7.8 * lane:cancel() now accepts a boolean second argument when soft cancelling (negative timeout) to wake the thread if necessary * if a blocked linda send() or receive() call is interrupted by a cancellation request, it returns CANCEL_ERROR so that this case can be differentiated from a simple timeout * fixed WIN32 THREAD_CREATE() wrong _beginthreadex() error detection * fatal WIN32 threading errors retrieve and output the error description string with FormatMessage() * fixed missing lanes.set_singlethreaded * fixed perftest.lua * added test/cancel.lua
* rockspec for version 3.7.7v3.7.7Benoit Germain2014-01-131-0/+66
|
* Fix argument checks in linda:limit()Benoit Germain2014-01-091-3/+3
|
* Linda fixesBenoit Germain2014-01-094-65/+123
| | | | | | | | | | | * bumped version to 3.7.7 * fix crash when calling linda:count() on unknown keys * purge key storage with linda:set( key, nil) on an unlimited key to reduce memory usage with lots of keys * linda:limit() wakes write-blocked threads if necessary when the new limit enables writes to occur again * linda:set() wakes write-blocked threads if necessary if the operation created some room to write into
* fix on_state_create circular logic issueBenoit Germain2014-01-067-32/+72
| | | | | | * if config.on_state_create() is a C function, call it by direct C closure reconstruction in newly created states * bumped version to 3.7.6
* Merge pull request #83 from AlexanderKhilo/patch-1Benoit Germain2013-12-311-0/+2
|\ | | | | Update tools.c
| * Update tools.cAlexanderKhilo2013-12-281-0/+2
|/ | | Actually, you shouldn't need malloc.h at all, it's obsolete; including stdlib.h should take care of what malloc.h used to handle.
* fixed a shutdown crashBenoit Germain2013-12-204-24/+54
| | | | | | | * fixed a crash that can occur at shutdown when an object stored inside a keeper state performs a linda operation on a linda making use of another keeper * bumped version to 3.7.5
* new config option demote_full_userdataBenoit Germain2013-12-202-37/+38
| | | | | use demote_full_userdata to select between light userdata demotion or raising an error when attempting to transfer a non-deep full userdata
* Fix an incorrect assertion in lanes.require()Benoit Germain2013-12-131-4/+4
|
* Update make-vc.cmdBenoit Germain2013-12-061-1/+1
|
* new API lanes.set_thread_priority()Benoit Germain2013-12-046-94/+161
|
* no need for pthread_cleanup_ pair when THREADWAIT_METHOD == THREADWAIT_CONDVARBenoit Germain2013-12-041-0/+5
|
* Merge pull request #80 from benoit-germain/masterBenoit Germain2013-12-035-227/+221
|\ | | | | pthread thread priority code refactoring
| * Fixed missing extern variable declarations resulting in multiple variable ↵Benoit Germain2013-12-021-1/+1
| | | | | | | | instances
| * MinGW-pthread doesn't seem to have pthread_timedjoin_np after allBenoit Germain2013-12-021-1/+1
| |
| * pthread thread priority refacto: threading.cBenoit Germain2013-12-021-216/+212
| |
| * pthread thread priority refacto: threading.hBenoit Germain2013-12-021-6/+3
| |
| * pthread thread priority refacto: lanes.cBenoit Germain2013-12-021-1/+2
| |
| * pthread thread priority refacto: index.htmlBenoit Germain2013-12-021-1/+1
| |
| * pthread thread priority refacto: lanes.luaBenoit Germain2013-12-021-1/+1
|/
* line ending uniformisationBenoit Germain2013-11-300-0/+0
|
* Fix a macro checkBenoit Germain2013-11-291-1/+1
|
* supposedly improved pthread supportBenoit Germain2013-11-298-40/+105
| | | | | | | | | * bumped version to 3.7.3 * set pthread thread cancel type to PTHREAD_CANCEL_ASYNCHRONOUS * lane_h:cancel() accepts a 3rd timeout argument used when waiting for actual thread termination (hitting the timeout raises an error) * added PROPAGATE_ALLOCF macro to select state creation mode (lua_newstate or luaL_newstate)
* Fix a macro redefinition when compiling against Lua 5.2 with compatibility ↵Benoit Germain2013-11-261-0/+2
| | | | options enabled
* Fix a macro redefinition when compiling against Lua 5.2 with compatibility ↵Benoit Germain2013-11-261-0/+2
| | | | options enabled
* Fix a 64 bits compilation warningBenoit Germain2013-11-261-1/+1
|
* Fix a 64 bits compilation warningBenoit Germain2013-11-261-1/+1
|
* Added a comment in thread_new()Benoit Germain2013-11-221-1/+3
|
* MinGW-pthread supports -3/+3 thread priority range, so accept it API-side tooBenoit Germain2013-11-221-0/+7
|
* MinGW-pthread supports -3/+3 thread priority range, so accept it API-side tooBenoit Germain2013-11-221-1/+4
|
* Correct MinGW pthread_attr_setschedpolicy replacement.Benoit Germain2013-11-211-2/+2
|
* Add a dummy pthread_attr_setschedpolicy() for MinGW builds to fix a ENOTSUP ↵Benoit Germain2013-11-211-0/+17
| | | | failure.
* Fix compilation warning introduced by aef73939a513e67989a9ad2256f14754ebdaa28e.Benoit Germain2013-11-181-2/+3
|
* Update CHANGESBenoit Germain2013-11-181-0/+6
|
* Fix internal error at lane creation when the generator doesn't open any base ↵Benoit Germain2013-11-181-5/+4
| | | | | library Fix issue #77.
* Get rid of uintptr_t to remove dependency on stdint.hBenoit Germain2013-11-181-1/+1
| | | Fix issue #76.
* Fix a compilation warning about an unused variableBenoit Germain2013-11-181-1/+1
| | | Fix issue #74.
* Fix a deadlock when GCing during a linda operation.Benoit Germain2013-11-181-1/+3
| | | See issue #73.
* Update documentationBenoit Germain2013-11-161-5/+9
|
* Update CHANGESBenoit Germain2013-11-161-0/+6
|
* Bumped version to 3.7.2Benoit Germain2013-11-161-1/+1
|
* EnableCrashingOnCrashes changesBenoit Germain2013-11-161-16/+43
| | | | * make EnableCrashingOnCrashes a one-time operation * attempt to catch SIGABRT