Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Turn potential malicious-crafted code crashes into normal Lua errors | Benoit Germain | 2014-01-20 | 1 | -99/+108 | |
| | | | | | | | | | | | | | * 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() improvements | Benoit Germain | 2014-01-20 | 4 | -70/+80 | |
| | | | | | | | * 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 fixes | Benoit Germain | 2014-01-16 | 3 | -105/+125 | |
| | | | | | | | | | | | | | | | * 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 | |||||
* | Fix argument checks in linda:limit() | Benoit Germain | 2014-01-09 | 1 | -3/+3 | |
| | ||||||
* | Linda fixes | Benoit Germain | 2014-01-09 | 2 | -55/+96 | |
| | | | | | | | | | | | * 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 issue | Benoit Germain | 2014-01-06 | 5 | -29/+61 | |
| | | | | | | * 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 | |||||
* | Update tools.c | AlexanderKhilo | 2013-12-28 | 1 | -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 crash | Benoit Germain | 2013-12-20 | 2 | -15/+26 | |
| | | | | | | | * 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_userdata | Benoit Germain | 2013-12-20 | 2 | -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 Germain | 2013-12-13 | 1 | -4/+4 | |
| | ||||||
* | new API lanes.set_thread_priority() | Benoit Germain | 2013-12-04 | 4 | -91/+133 | |
| | ||||||
* | no need for pthread_cleanup_ pair when THREADWAIT_METHOD == THREADWAIT_CONDVAR | Benoit Germain | 2013-12-04 | 1 | -0/+5 | |
| | ||||||
* | Fixed missing extern variable declarations resulting in multiple variable ↵ | Benoit Germain | 2013-12-02 | 1 | -1/+1 | |
| | | | | instances | |||||
* | MinGW-pthread doesn't seem to have pthread_timedjoin_np after all | Benoit Germain | 2013-12-02 | 1 | -1/+1 | |
| | ||||||
* | pthread thread priority refacto: threading.c | Benoit Germain | 2013-12-02 | 1 | -216/+212 | |
| | ||||||
* | pthread thread priority refacto: threading.h | Benoit Germain | 2013-12-02 | 1 | -6/+3 | |
| | ||||||
* | pthread thread priority refacto: lanes.c | Benoit Germain | 2013-12-02 | 1 | -1/+2 | |
| | ||||||
* | pthread thread priority refacto: lanes.lua | Benoit Germain | 2013-12-02 | 1 | -1/+1 | |
| | ||||||
* | Fix a macro check | Benoit Germain | 2013-11-29 | 1 | -1/+1 | |
| | ||||||
* | supposedly improved pthread support | Benoit Germain | 2013-11-29 | 6 | -32/+89 | |
| | | | | | | | | | * 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 Germain | 2013-11-26 | 1 | -0/+2 | |
| | | | | options enabled | |||||
* | Fix a macro redefinition when compiling against Lua 5.2 with compatibility ↵ | Benoit Germain | 2013-11-26 | 1 | -0/+2 | |
| | | | | options enabled | |||||
* | Fix a 64 bits compilation warning | Benoit Germain | 2013-11-26 | 1 | -1/+1 | |
| | ||||||
* | Fix a 64 bits compilation warning | Benoit Germain | 2013-11-26 | 1 | -1/+1 | |
| | ||||||
* | Added a comment in thread_new() | Benoit Germain | 2013-11-22 | 1 | -1/+3 | |
| | ||||||
* | MinGW-pthread supports -3/+3 thread priority range, so accept it API-side too | Benoit Germain | 2013-11-22 | 1 | -0/+7 | |
| | ||||||
* | MinGW-pthread supports -3/+3 thread priority range, so accept it API-side too | Benoit Germain | 2013-11-22 | 1 | -1/+4 | |
| | ||||||
* | Correct MinGW pthread_attr_setschedpolicy replacement. | Benoit Germain | 2013-11-21 | 1 | -2/+2 | |
| | ||||||
* | Add a dummy pthread_attr_setschedpolicy() for MinGW builds to fix a ENOTSUP ↵ | Benoit Germain | 2013-11-21 | 1 | -0/+17 | |
| | | | | failure. | |||||
* | Fix compilation warning introduced by aef73939a513e67989a9ad2256f14754ebdaa28e. | Benoit Germain | 2013-11-18 | 1 | -2/+3 | |
| | ||||||
* | Fix internal error at lane creation when the generator doesn't open any base ↵ | Benoit Germain | 2013-11-18 | 1 | -5/+4 | |
| | | | | | library Fix issue #77. | |||||
* | Get rid of uintptr_t to remove dependency on stdint.h | Benoit Germain | 2013-11-18 | 1 | -1/+1 | |
| | | | Fix issue #76. | |||||
* | Fix a compilation warning about an unused variable | Benoit Germain | 2013-11-18 | 1 | -1/+1 | |
| | | | Fix issue #74. | |||||
* | Fix a deadlock when GCing during a linda operation. | Benoit Germain | 2013-11-18 | 1 | -1/+3 | |
| | | | See issue #73. | |||||
* | Bumped version to 3.7.2 | Benoit Germain | 2013-11-16 | 1 | -1/+1 | |
| | ||||||
* | EnableCrashingOnCrashes changes | Benoit Germain | 2013-11-16 | 1 | -16/+43 | |
| | | | | * make EnableCrashingOnCrashes a one-time operation * attempt to catch SIGABRT | |||||
* | lanes.genlock() improvements and fix | Benoit Germain | 2013-11-16 | 1 | -20/+34 | |
| | | | | * Fixed function returned by lanes.genlock() not handling numeric keys properly when release lock * Enable lanes.genlock() to attempt lock with an optional "try" mode | |||||
* | Added a comment in keeper_call() | Benoit Germain | 2013-11-16 | 1 | -0/+4 | |
| | ||||||
* | Ignore ERROR_WAIT_NO_CHILDREN issued by WaitForSingleObject | Benoit Germain | 2013-11-16 | 1 | -4/+8 | |
| | | | | ERROR_WAIT_NO_CHILDREN means a thread was killed (lane terminated because of error raised during a linda transfer for example) while having grabbed some mutex this seems not to be a big problem as we will grab it just the same, so ignore this particular error | |||||
* | Fix some compiler-specific build issues | Benoit Germain | 2013-11-16 | 1 | -1/+7 | |
| | ||||||
* | Changed a DEBUGSPEW output | Benoit Germain | 2013-11-16 | 1 | -1/+1 | |
| | ||||||
* | Minor macro definition fix | Benoit Germain | 2013-11-16 | 1 | -1/+1 | |
| | ||||||
* | Fix a case where an error could be raised inside a keeper state | Benoit Germain | 2013-11-13 | 1 | -1/+2 | |
| | ||||||
* | Removed bad stack check code causing invalid assertions | Benoit Germain | 2013-11-07 | 1 | -2/+0 | |
| | ||||||
* | Improved some DEBUGSPEW output | Benoit Germain | 2013-11-07 | 1 | -2/+6 | |
| | ||||||
* | Make set_finalizer(), set_debug_threadname(), cancel_test() and ↵ | Benoit Germain | 2013-11-07 | 1 | -3/+8 | |
| | | | | set_error_reporting() transferable from lane to lane | |||||
* | Fixed missing extern variable declarations resulting in multiple variable ↵ | Benoit Germain | 2013-11-06 | 1 | -2/+2 | |
| | | | | instances | |||||
* | Fix a compilation warning about an uninitialized variable (but this is harmless) | Benoit Germain | 2013-11-06 | 1 | -0/+1 | |
| | ||||||
* | Fix an unitialized variable usage | Benoit Germain | 2013-11-06 | 1 | -0/+1 | |
| | ||||||
* | Fix lanes.nameof() crashing when encountering a light userdata | Benoit Germain | 2013-11-04 | 1 | -12/+20 | |
| |