| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Test full userdata keys with verbose_errors | Benoit Germain | 2025-10-30 | 1 | -1/+5 |
| | | |||||
| * | Two less global variables | Benoit Germain | 2025-10-27 | 1 | -2/+3 |
| | | |||||
| * | verbose_errors improvement | Benoit Germain | 2025-10-27 | 2 | -12/+12 |
| | | | | | | * Use std::format instead of sprintf for verbose errors when decoding table keys * Add a unit test for the different table key types | ||||
| * | Fix STACK_GROW under Clang | Benoit Germain | 2025-10-21 | 1 | -1/+1 |
| | | | | | Repeat change e0236dc2c4fffab98b6ce4f7126c1b260b87416d of C-implementation | ||||
| * | Lift restriction on functions and userdata as table keys | Benoit Germain | 2025-09-30 | 1 | -7/+0 |
| | | | | | As demonstrated by the unit tests, there is no problem with using a function or a userdata as a table key, as long as they are transferable | ||||
| * | Lift restriction on tables as table keys | Benoit Germain | 2025-09-29 | 1 | -4/+0 |
| | | | | | As demonstrated by the unit tests, there is no problem with using a table as a table key | ||||
| * | Improve table and userdata conversions | Benoit Germain | 2025-09-20 | 6 | -128/+263 |
| | | | | | | | | | * add convert_fallback and convert_max_attempts to global settings * if no __lanesconvert is available, use convert_fallback (can be useful for externally provided full userdata with fixed metatables) * only try conversion on non-deep and non-clonable userdata * conversion can be applied recursively, up to convert_max_attempts times * plus all the relevant unit tests of course | ||||
| * | RAII + setjmp = UB | Benoit Germain | 2025-07-31 | 2 | -40/+13 |
| | | |||||
| * | I don't even know why I ever included luajit.h. removed it. | Benoit Germain | 2025-07-28 | 1 | -1/+0 |
| | | |||||
| * | Fix crashes in MSVC release builds related to KeeperOperationInProgress | Benoit Germain | 2025-07-25 | 3 | -14/+24 |
| | | | | | | * scope the KeeperOperationInProgress object on linda calls * but since it's not enough, just comment it, it is only debug stuff anyway | ||||
| * | Rework function bytecode dumping to be Lua5.5-ready | Benoit Germain | 2025-07-24 | 3 | -35/+28 |
| | | | | | * prepare the luaL_Buffer in the destination state instead of the source state to prevent stack issues when everything happens in the same state | ||||
| * | Use LANES_DEBUG instead of MSVC-specific _DEBUG to activate debug code | Benoit Germain | 2025-07-24 | 1 | -4/+4 |
| | | |||||
| * | workaround a possible Lua 5.5 bug when dumping functions (but it doesn't ↵ | Benoit Germain | 2025-07-22 | 1 | -0/+5 |
| | | | | | solve everything) | ||||
| * | New helper to push function bytecode (to facilitate Lua 5.5 support) | Benoit Germain | 2025-07-22 | 3 | -38/+53 |
| | | |||||
| * | Added Lua 5.5 support | Benoit Germain | 2025-07-04 | 4 | -25/+88 |
| | | | | | * some unit tests fail/segfault/freeze, but that could be because Lua 5.5 is still in beta yet | ||||
| * | Changed lua wrapper prefixes from luaG_ to luaW_ (w as in wrapper!) | Benoit Germain | 2025-07-04 | 20 | -357/+357 |
| | | |||||
| * | Fix more issues related to suspended coroutines and join/indexing operations | Benoit Germain | 2025-07-03 | 2 | -118/+163 |
| | | | | | | * indexing and joining a suspended lane closes the coroutine, causing the termination of the lane * properly close coroutine to-be-closed variables on interruption | ||||
| * | Clarified interactions between join() and coroutines | Benoit Germain | 2025-07-01 | 1 | -28/+48 |
| | | |||||
| * | Preparation for lane:close() and correct to-be-closed variables | Benoit Germain | 2025-06-26 | 1 | -17/+62 |
| | | | | | | | | | * lane:join() can no longer be used to read yielded values * same with lane indexing * stub for lane:close(), similar to coroutine.close() (not implemented yet) * preparing tests for to-be-closed variables in yielded coroutine lanes * yielded lanes unlock and terminate properly at Lanes shutdown | ||||
| * | Minor code refacto (Lane::waitForCompletion) | Benoit Germain | 2025-06-25 | 2 | -27/+15 |
| | | |||||
| * | Better protection of selfdestruct chain at universe shutdown | Benoit Germain | 2025-06-24 | 1 | -15/+18 |
| | | |||||
| * | Change lane:join() return values | Benoit Germain | 2025-06-05 | 1 | -14/+20 |
| | | | | | | | * when no error is raised in the lane, lane:join() now precedes the lane returned values with true * lane body is no longer forced to return something when used with join() * adjusted all relevant unit tests accordingly | ||||
| * | Minor code cosmetic changes | Benoit Germain | 2025-05-22 | 3 | -64/+89 |
| | | |||||
| * | Code factorization in KeyUD::pop() | Benoit Germain | 2025-05-21 | 1 | -9/+19 |
| | | |||||
| * | Thread priority rework | Benoit Germain | 2025-05-07 | 7 | -100/+175 |
| | | | | | | | | * thread priorities can now be set using the native range of values, if desired. * thread API errors cause a Lua error instead of aborting the program. * new function lanes.thread_priority_range(), to query the valid range of priorities. * unit tests for all of the above | ||||
| * | Fix priorities for Mingw builds | Benoit Germain | 2025-05-06 | 1 | -2/+2 |
| | | |||||
| * | Move ProtectedAllocator::Protected_lua_Alloc in universe.cpp | Benoit Germain | 2025-04-29 | 2 | -8/+13 |
| | | |||||
| * | Updated comments on unit test lanes.configure.allocator/protected | Benoit Germain | 2025-04-29 | 1 | -1/+1 |
| | | |||||
| * | Remove a useless mutex guard on lane setf-destruct | Benoit Germain | 2025-04-28 | 2 | -2/+2 |
| | | |||||
| * | Minor internal tweaks in shutdown code | Benoit Germain | 2025-04-28 | 4 | -12/+23 |
| | | |||||
| * | Code factorization in linda send/receive implementation | Benoit Germain | 2025-04-25 | 1 | -64/+40 |
| | | |||||
| * | cancel_test() returns "soft"/"hard" instead of true | Benoit Germain | 2025-04-23 | 1 | -1/+5 |
| | | |||||
| * | Make gcc happy | Benoit Germain | 2025-04-20 | 2 | -3/+3 |
| | | |||||
| * | A unit test for linda wake_period | Benoit Germain | 2025-04-18 | 2 | -1/+10 |
| | | |||||
| * | New feature: Linda periodical cancellation checks | Benoit Germain | 2025-04-18 | 6 | -77/+118 |
| | | | | | | | | * lanes.linda() api change: takes all settings in a single table argument * new linda creation argument wake_period * new lanes.configure setting linda_wake_period * adjusted all unit tests (one TODO test fails on purpose) | ||||
| * | Linda batched mode rework | Benoit Germain | 2025-04-15 | 5 | -154/+155 |
| | | | | | | * linda.batched special value is removed * new function linda:receive_batched | ||||
| * | A bit of code factorization | Benoit Germain | 2025-04-15 | 1 | -88/+86 |
| | | |||||
| * | Implement THREAD_SETNAME for mingw | Benoit Germain | 2025-04-07 | 1 | -1/+3 |
| | | |||||
| * | Fix crash with multi keepers (invalid memory access on close) | Benoit Germain | 2025-04-07 | 2 | -34/+15 |
| | | |||||
| * | Fix 32 bits compilation warnings | Benoit Germain | 2025-04-04 | 1 | -2/+2 |
| | | |||||
| * | Fix threading compilation for MinGW | Benoit Germain | 2025-04-01 | 3 | -31/+51 |
| | | |||||
| * | Circumvent MSVC possible bug causing a crash in optimized builds | Benoit Germain | 2025-03-17 | 1 | -1/+3 |
| | | |||||
| * | Fix test "allocator = <bad C function>" not failing against LuaJIT like it ↵ | Benoit Germain | 2025-03-17 | 3 | -7/+7 |
| | | | | | should | ||||
| * | Raise a regular Lua error instead of throwing a C++ std::logic_error ↵ | Benoit Germain | 2025-03-17 | 4 | -11/+48 |
| | | | | | exception in Universe::UniverseGC | ||||
| * | Fix crash with LuaJIT when using { name = 'auto' } for lane name detection | Benoit Germain | 2025-03-17 | 1 | -1/+3 |
| | | |||||
| * | Fix crash when using { name = 'auto' } with a lane generated from a string | Benoit Germain | 2025-03-14 | 1 | -4/+11 |
| | | |||||
| * | lanes/core.[so|dll] → lanes_core.[so|dll] | Benoit Germain | 2025-03-14 | 6 | -24/+20 |
| | | |||||
| * | More makefile tweaks | Benoit Germain | 2025-03-14 | 1 | -3/+5 |
| | | |||||
| * | More work on Makefiles | Benoit Germain | 2025-03-13 | 1 | -15/+14 |
| | | | | | | | | | | | | * renamed makefiles: - Shared.mk → Shared.makefile - src/Makefile → src/Lanes.makefile - unit_tests/Makefile → unit_tests/UnitTests.makefile - deep_userdata_example/Makefile → deep_userdata_example/DUE.makefile * Add a makefile for deep_userdata_example * added a target 'unit_tests' to build them (not running them yet) * plus some minor internal improvements | ||||
| * | Disable unit test "lanes.stack checker" in Release builds | Benoit Germain | 2025-03-13 | 1 | -0/+1 |
| | | |||||
