aboutsummaryrefslogtreecommitdiff
path: root/src/lanes.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Unify sleep() timeout with send() and receive (nil means forever)v4.0.0Benoit Germain2026-02-271-13/+11
|
* Two less global variablesBenoit Germain2025-10-271-2/+3
|
* Improve table and userdata conversionsBenoit Germain2025-09-201-0/+3
| | | | | | | | * 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
* Fix crashes in MSVC release builds related to KeeperOperationInProgressBenoit Germain2025-07-251-1/+5
| | | | | * scope the KeeperOperationInProgress object on linda calls * but since it's not enough, just comment it, it is only debug stuff anyway
* Changed lua wrapper prefixes from luaG_ to luaW_ (w as in wrapper!)Benoit Germain2025-07-041-29/+29
|
* Thread priority reworkBenoit Germain2025-05-071-21/+41
| | | | | | | * 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 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-141-6/+6
|
* Minor internal code tweaksBenoit Germain2025-02-051-1/+1
| | | | | | | * mark all eligible classes Final * new TableIndex strong type * buildfixes for HAVE_DEBUGSPEW() * overridden virtual destructors tagged as such
* Fix lane {.name} setting applicationBenoit Germain2024-12-131-10/+6
| | | | The name of the lane was applied to the thread of the lane's creator instead of the lane's thread
* lanes.collectgarbage() and linda:collectgarbage()Benoit Germain2024-12-101-0/+1
|
* Improved DeepPrelude architectureBenoit Germain2024-12-091-0/+1
|
* lanes_register() throws an error if called before Lanes is initializedBenoit Germain2024-11-271-1/+4
|
* Make lanes.register() available as an exported C function lanes_register()Benoit Germain2024-11-271-2/+2
|
* More [[nodiscard]] boyscoutingBenoit Germain2024-11-201-1/+2
|
* Cleaning up guanoBenoit Germain2024-11-131-1/+1
| | | | Converted volatile Lane::status to std::atomic
* Cleaning up guanoBenoit Germain2024-11-131-7/+8
| | | | Converted some volatile crap to std::atomic_flag in EnableCrashingOnCrashes
* Renamed intercopycontext.h → intercopycontext.hpp, state.h → state.hppBenoit Germain2024-10-281-2/+2
|
* Renamed lane.h → lane.hpp, linda.h → linda.hpp, threading.h → ↵Benoit Germain2024-10-281-2/+2
| | | | threading.hpp
* Renamed tracker.h → tracker.hpp, nameof.h → nameof.hppBenoit Germain2024-10-281-1/+1
|
* Renamed allocator.h → allocator.hpp, cancel.h → cancel.hpp, keeper.h → ↵Benoit Germain2024-10-281-2/+2
| | | | keeper.hpp, tools.h → tools.hpp
* Renamed _pch.h → _pch.hpp, deep.h → deep.hpp, lanes.h → lanes.hppBenoit Germain2024-10-281-3/+3
|
* Strengthen more code with UserValueIndexBenoit Germain2024-10-241-1/+1
|
* Make Unique even strongerBenoit Germain2024-10-241-7/+7
|
* Added strong types UserValueCount and UnusedIntBenoit Germain2024-10-241-1/+2
|
* Fix/suppress MSVC /Wall warningsBenoit Germain2024-10-161-4/+4
|
* Sprinkling StackIndex all over the placeBenoit Germain2024-10-081-34/+34
|
* Code boyscoutingBenoit Germain2024-07-301-4/+4
|
* get_debug_threadname → get_threadnameBenoit Germain2024-07-041-1/+1
|
* It is possible to index and join a suspended coroutine laneBenoit Germain2024-07-031-3/+3
|
* Add minimal coroutine support: no doc, no error handling, no cancellation ↵Benoit Germain2024-07-031-6/+22
| | | | handling (yet)
* A small step toward coroutine-based lanesBenoit Germain2024-07-011-1/+3
|
* BoyscoutingBenoit Germain2024-06-261-7/+7
|
* Make lanes.gen stricter on base librariesBenoit Germain2024-06-261-0/+1
|
* Wording fix: parameter → argumentBenoit Germain2024-06-141-1/+1
|
* lua_pushliteral -> luaG_pushstringBenoit Germain2024-06-141-6/+6
|
* A small step toward making clang happyBenoit Germain2024-06-131-0/+9
|
* More application of the coding rulesBenoit Germain2024-06-111-7/+7
|
* linda:send() returns nil,<something> in case of errorBenoit Germain2024-06-101-2/+2
|
* luaG_typename returns a std::string_viewBenoit Germain2024-06-101-5/+5
|
* Improvements in compat.hBenoit Germain2024-06-071-2/+2
|
* Boyscouting some luaG_ functionsBenoit Germain2024-06-071-16/+14
|
* Use a precompiled header to speed up the buildBenoit Germain2024-06-071-2/+1
|
* Converted a few more raw string pointers to std::string_viewBenoit Germain2024-06-061-2/+4
|
* Modernize compatBenoit Germain2024-06-051-17/+17
|
* Moved lanes.sleep implementation to the C-sideBenoit Germain2024-06-031-5/+33
|
* Improved multi-keeper testsBenoit Germain2024-05-311-1/+1
|
* Keeper management modernisation and improvementsBenoit Germain2024-05-301-41/+2
| | | | | | | * use a std::variant to manage the distinction between one or more keeper states. Use std::unique_ptr<Keeper[]> to manage the multiple keeper case. * setting "nb_keepers" renamed "nb_user_keepers", to indicate these are in addition to internal keeper #0 used for timers. * stricter lanes.linda() argument checking. group is imposed if more than one keeper is used. * more tests
* Fix clang-tidy issues (most notably Microsoft-specific explicit constructor ↵Benoit Germain2024-05-291-9/+9
| | | | calls)