Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | RAII + setjmp = UB | Benoit Germain | 8 days | 2 | -40/+13 |
| | |||||
* | I don't even know why I ever included luajit.h. removed it. | Benoit Germain | 11 days | 1 | -1/+0 |
| | |||||
* | Fix crashes in MSVC release builds related to KeeperOperationInProgress | Benoit Germain | 14 days | 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 |
| | |||||
* | More makefile improvements | Benoit Germain | 2025-03-12 | 1 | -4/+4 |
| | |||||
* | Makefile tweaks | Benoit Germain | 2025-03-12 | 1 | -1/+1 |
| | |||||
* | Add a VisualStudio solution to build and debug Lanes | Benoit Germain | 2025-03-11 | 1 | -4/+0 |
| | | | | | | * configured to build Lanes, the example module deep_userdata_example, and the unit tests * relies on Lua 5.1 → 5.4, LuaJIT and MoonJIT to be built and located in a fixed directory * manual_register legacy test now uses deep_userdata_example module instead of lfs | ||||
* | Fix unit tests failing for Lua 5.3 | Benoit Germain | 2025-03-10 | 2 | -7/+6 |
| | | | | | * Fix compatibility function lua_getiuservalue() for Lua 5.3 * Fix handling of nil function upvalues in lanes.nameof() | ||||
* | Buildfix against Lua 5.1 (no lua_Unsigned) | Benoit Germain | 2025-03-07 | 1 | -3/+3 |
| | | | | Unit tests for lanes.nameof() fail with Lua 5.3 only (to be investigated later) | ||||
* | Revamped lanes.nameof | Benoit Germain | 2025-03-07 | 3 | -115/+206 |
| | |||||
* | New compatibility helper luaG_rawget | Benoit Germain | 2025-03-06 | 6 | -40/+55 |
| |