aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* RAII + setjmp = UBBenoit Germain8 days2-40/+13
|
* I don't even know why I ever included luajit.h. removed it.Benoit Germain11 days1-1/+0
|
* Fix crashes in MSVC release builds related to KeeperOperationInProgressBenoit Germain14 days3-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-readyBenoit Germain2025-07-243-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 codeBenoit Germain2025-07-241-4/+4
|
* workaround a possible Lua 5.5 bug when dumping functions (but it doesn't ↵Benoit Germain2025-07-221-0/+5
| | | | solve everything)
* New helper to push function bytecode (to facilitate Lua 5.5 support)Benoit Germain2025-07-223-38/+53
|
* Added Lua 5.5 supportBenoit Germain2025-07-044-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 Germain2025-07-0420-357/+357
|
* Fix more issues related to suspended coroutines and join/indexing operationsBenoit Germain2025-07-032-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 coroutinesBenoit Germain2025-07-011-28/+48
|
* Preparation for lane:close() and correct to-be-closed variablesBenoit Germain2025-06-261-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 Germain2025-06-252-27/+15
|
* Better protection of selfdestruct chain at universe shutdownBenoit Germain2025-06-241-15/+18
|
* Change lane:join() return valuesBenoit Germain2025-06-051-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 changesBenoit Germain2025-05-223-64/+89
|
* Code factorization in KeyUD::pop()Benoit Germain2025-05-211-9/+19
|
* Thread priority reworkBenoit Germain2025-05-077-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 buildsBenoit Germain2025-05-061-2/+2
|
* Move ProtectedAllocator::Protected_lua_Alloc in universe.cppBenoit Germain2025-04-292-8/+13
|
* Updated comments on unit test lanes.configure.allocator/protectedBenoit Germain2025-04-291-1/+1
|
* Remove a useless mutex guard on lane setf-destructBenoit Germain2025-04-282-2/+2
|
* Minor internal tweaks in shutdown codeBenoit Germain2025-04-284-12/+23
|
* Code factorization in linda send/receive implementationBenoit Germain2025-04-251-64/+40
|
* cancel_test() returns "soft"/"hard" instead of trueBenoit Germain2025-04-231-1/+5
|
* Make gcc happyBenoit Germain2025-04-202-3/+3
|
* A unit test for linda wake_periodBenoit Germain2025-04-182-1/+10
|
* New feature: Linda periodical cancellation checksBenoit Germain2025-04-186-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 reworkBenoit Germain2025-04-155-154/+155
| | | | | * linda.batched special value is removed * new function linda:receive_batched
* A bit of code factorizationBenoit Germain2025-04-151-88/+86
|
* Implement THREAD_SETNAME for mingwBenoit Germain2025-04-071-1/+3
|
* Fix crash with multi keepers (invalid memory access on close)Benoit Germain2025-04-072-34/+15
|
* Fix 32 bits compilation warningsBenoit Germain2025-04-041-2/+2
|
* Fix threading compilation for MinGWBenoit Germain2025-04-013-31/+51
|
* Circumvent MSVC possible bug causing a crash in optimized buildsBenoit Germain2025-03-171-1/+3
|
* Fix test "allocator = <bad C function>" not failing against LuaJIT like it ↵Benoit Germain2025-03-173-7/+7
| | | | should
* Raise a regular Lua error instead of throwing a C++ std::logic_error ↵Benoit Germain2025-03-174-11/+48
| | | | exception in Universe::UniverseGC
* Fix crash with LuaJIT when using { name = 'auto' } for lane name detectionBenoit Germain2025-03-171-1/+3
|
* Fix crash when using { name = 'auto' } with a lane generated from a stringBenoit Germain2025-03-141-4/+11
|
* lanes/core.[so|dll] → lanes_core.[so|dll]Benoit Germain2025-03-146-24/+20
|
* More makefile tweaksBenoit Germain2025-03-141-3/+5
|
* More work on MakefilesBenoit Germain2025-03-131-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 buildsBenoit Germain2025-03-131-0/+1
|
* More makefile improvementsBenoit Germain2025-03-121-4/+4
|
* Makefile tweaksBenoit Germain2025-03-121-1/+1
|
* Add a VisualStudio solution to build and debug LanesBenoit Germain2025-03-111-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.3Benoit Germain2025-03-102-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 Germain2025-03-071-3/+3
| | | | Unit tests for lanes.nameof() fail with Lua 5.3 only (to be investigated later)
* Revamped lanes.nameofBenoit Germain2025-03-073-115/+206
|
* New compatibility helper luaG_rawgetBenoit Germain2025-03-066-40/+55
|