aboutsummaryrefslogtreecommitdiff
path: root/src/lanes.lua (follow)
Commit message (Collapse)AuthorAgeFilesLines
* New feature: Linda periodical cancellation checksBenoit Germain2025-04-181-0/+14
| | | | | | | * 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-151-3/+2
| | | | | * linda.batched special value is removed * new function linda:receive_batched
* lanes/core.[so|dll] → lanes_core.[so|dll]Benoit Germain2025-03-141-5/+5
|
* lanes.collectgarbage() and linda:collectgarbage()Benoit Germain2024-12-101-0/+1
|
* New method linda:restrict()Benoit Germain2024-12-031-0/+1
|
* Internal refactorization to properly handle lua_resume idiosyncrasiesBenoit Germain2024-07-291-2/+2
|
* A small step toward coroutine-based lanesBenoit Germain2024-07-011-41/+56
|
* Make Lanes crash on purpose at shutdown if some lanes still runBenoit Germain2024-06-281-9/+0
|
* linda:limit() and linda:set() return a second value, a string representing ↵Benoit Germain2024-06-271-1/+2
| | | | the fill status
* Make lanes.gen stricter on base librariesBenoit Germain2024-06-261-18/+29
|
* Fix lanes.gen not correctly detecting '*' misuseBenoit Germain2024-06-251-1/+5
|
* Better error message on unknown configuration settingBenoit Germain2024-06-201-2/+2
|
* BoyscoutingBenoit Germain2024-06-191-14/+14
|
* Config parameter validators can append extra information to the error messageBenoit Germain2024-06-191-11/+45
|
* Foolproofed config.allocator when it is a functionBenoit Germain2024-06-171-4/+4
|
* Fix validation of boolean settingsBenoit Germain2024-06-171-1/+1
|
* Wording fix: parameter → argumentBenoit Germain2024-06-141-7/+7
|
* linda :get(), :set(), :limit() return value changesBenoit Germain2024-06-121-15/+26
|
* Adjust lanes.configure() documentationBenoit Germain2024-06-111-1/+1
|
* Fix lanes.genlock()Benoit Germain2024-06-111-1/+5
|
* Removed .demote_full_userdataBenoit Germain2024-06-101-2/+0
|
* linda:send() returns nil,<something> in case of errorBenoit Germain2024-06-101-1/+2
|
* New global setting "strip_functions"Benoit Germain2024-06-031-23/+25
|
* Moved lanes.sleep implementation to the C-sideBenoit Germain2024-06-031-23/+3
|
* Some API changesBenoit Germain2024-05-311-15/+23
| | | | | | * lanes.timers() can return nil, cancel_error if interrupted * linda:receive() always return a k,v, where k is nil when v is "timeout" or cancel_error * lanes.sleep returns nil, "timeout" during normal operations
* Improved multi-keeper testsBenoit Germain2024-05-311-18/+19
|
* Keeper management modernisation and improvementsBenoit Germain2024-05-301-5/+5
| | | | | | | * 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-2/+2
| | | | calls)
* Fix lanes.lua dependency on "io"Benoit Germain2024-05-291-28/+25
|
* New Lanes finalizer API lanes.finally()Benoit Germain2024-05-281-0/+1
|
* Minor code tweaksBenoit Germain2024-05-171-10/+15
|
* Error reporting revampBenoit Germain2024-05-171-4/+17
| | | | | | * set_error_reporting() is gone * new lane generator setting error_reporting_level * basic/extended stack trace is selectable at runtime instead of compile-time
* Fix missing lanes.nullBenoit Germain2024-05-171-0/+1
|
* Almost nothingBenoit Germain2024-05-141-2/+1
|
* Linda API changesBenoit Germain2024-05-131-7/+10
| | | | | * timeout clarifications (negative values are no longer accepted, use nil instead) * linda(send, linda.null, key, ...) removed, if you want to send a nil, just do it as usual
* API changesBenoit Germain2024-05-131-2/+4
| | | | | * lanes.sleep accepts 'indefinitely'. * settings.with_timers is false by default
* New lane generator option opt_tbl.nameBenoit Germain2024-05-131-9/+13
|
* de-megathodize lanes.configure()Benoit Germain2024-05-021-607/+649
|
* C++ migration: use std::jthread, std::condition_variable, std::chrono.Benoit Germain2024-04-081-222/+229
| | | | | | | | win32 pthread support is gone new setting configure.shutdown_mode for cancellation of free-running threads at shutdown. no more hard thread termination! If a thread doesn't cooperate, an error is raised. lane.status "killed" is gone lane:cancel can't force-kill.
* Enable manual control of GC inside keeper statesBenoit Germain2024-04-051-0/+5
|
* Finalize version 3.16.2v3.16.2Benoit Germain2023-08-171-1/+1
|
* new .internal_allocator configuration IUNTESTED)Benoit Germain2023-08-091-1/+7
| | | | new configuration option .internal_allocator to help LuaJIT users. THIS IS YET UNTESTED, USE AT YOUR OWN RISKS.
* Make allocator threadsafe by default when running LuaJIT, because LuaJIT ↵Benoit Germain2022-02-211-1/+2
| | | | allocator is not
* Changed all indentations to all whitespacesBenoit Germain2022-02-071-690/+690
| | | | Tabs mess up alignment of stack contents comments, so I'm done with them.
* Lane cancellation reworkBenoit Germain2019-04-261-14/+3
| | | | | opt.cancelstep is gone, hook is installed by lane:cancel() if requested lane:cancel() rework (see doc)
* Trailing whitespaces deleted from lanes.luavalid-ptr2018-11-271-10/+10
|
* Lanes version available in public headerBenoit Germain2018-11-261-1/+1
|
* User-provided unknown configure option raises an errorBenoit Germain2018-11-261-0/+6
|
* protect_allocator configure option is gone, long live allocator (more ↵Benoit Germain2018-11-251-3/+5
| | | | embedders-friendly)
* new API lanes.set_thread_affinity(), and et_debug_threadname implemented ↵Benoit Germain2018-11-091-1/+2
| | | | with win32 pthread