aboutsummaryrefslogtreecommitdiff
path: root/src/lane.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Changed lua wrapper prefixes from luaG_ to luaW_ (w as in wrapper!)Benoit Germain2025-07-041-46/+46
|
* Fix more issues related to suspended coroutines and join/indexing operationsBenoit Germain2025-07-031-118/+157
| | | | | * 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-251-26/+14
|
* 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
* Thread priority reworkBenoit Germain2025-05-071-2/+2
| | | | | | | * 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
* Remove a useless mutex guard on lane setf-destructBenoit Germain2025-04-281-2/+0
|
* Minor internal tweaks in shutdown codeBenoit Germain2025-04-281-4/+8
|
* Raise a regular Lua error instead of throwing a C++ std::logic_error ↵Benoit Germain2025-03-171-0/+6
| | | | exception in Universe::UniverseGC
* New compatibility helper luaG_rawgetBenoit Germain2025-03-061-8/+4
|
* All enums are [[nodiscard]]Benoit Germain2025-02-051-0/+1
|
* Minor internal code tweaksBenoit Germain2025-02-051-2/+2
| | | | | | | * mark all eligible classes Final * new TableIndex strong type * buildfixes for HAVE_DEBUGSPEW() * overridden virtual destructors tagged as such
* Unit tests for thread nameBenoit Germain2024-12-161-6/+6
|
* Fix lane {.name} setting applicationBenoit Germain2024-12-131-25/+34
| | | | The name of the lane was applied to the thread of the lane's creator instead of the lane's thread
* Better validation of lane:cancel() argumentsBenoit Germain2024-12-041-0/+1
|
* Internal rework of an enum bad practice usageBenoit Germain2024-12-031-3/+3
|
* More [[nodiscard]] boyscoutingBenoit Germain2024-11-201-7/+14
|
* Cleaning up guanoBenoit Germain2024-11-131-3/+4
| | | | | * Lane::waiting on does not need to be volatile or anything else, all accesses are controlled through status acquire/release semantics * this contains fixes about bad ordering of said accesses in Linda:send and Linda:receive
* Cleaning up guanoBenoit Germain2024-11-131-3/+4
| | | | Lane::selfdestruct_next and Universe::selfdestructFirst do not need to be volatile or anything else, all accesses are mutex-protected
* Cleaning up guanoBenoit Germain2024-11-131-1/+1
| | | | Converted volatile Lane::cancelRequest to std::atomic
* Cleaning up guanoBenoit Germain2024-11-131-20/+26
| | | | Converted volatile Lane::status to std::atomic
* Renamed intercopycontext.h → intercopycontext.hpp, state.h → state.hppBenoit Germain2024-10-281-1/+1
|
* Renamed debugspew.h → debugspew.hpp, lindafactory.h → lindafactory.hppBenoit Germain2024-10-281-1/+1
|
* Renamed lane.h → lane.hpp, linda.h → linda.hpp, threading.h → ↵Benoit Germain2024-10-281-2/+2
| | | | threading.hpp
* Renamed allocator.h → allocator.hpp, cancel.h → cancel.hpp, keeper.h → ↵Benoit Germain2024-10-281-1/+1
| | | | keeper.hpp, tools.h → tools.hpp
* Renamed _pch.h → _pch.hpp, deep.h → deep.hpp, lanes.h → lanes.hppBenoit Germain2024-10-281-1/+1
|
* Some internal function name changes + slight lane:__index optimizationBenoit Germain2024-10-281-23/+25
|
* Fix a minor assert message + code boyscoutingBenoit Germain2024-10-251-2/+2
|
* Modernized some more triflesBenoit Germain2024-10-241-6/+6
|
* Factorized Lane::cancelSoft/cancelHard → internalCancelBenoit Germain2024-10-241-24/+9
|
* Strengthen more code with UserValueIndexBenoit Germain2024-10-241-9/+9
|
* More strong typing for UniqueKey::getSubTable() argumentsBenoit Germain2024-10-241-1/+1
|
* Sprinkling StackIndex all over the placeBenoit Germain2024-10-081-69/+71
|
* Code boyscoutingBenoit Germain2024-07-301-22/+22
|
* Internal refactorization to properly handle lua_resume idiosyncrasiesBenoit Germain2024-07-291-166/+259
|
* get_debug_threadname → get_threadnameBenoit Germain2024-07-041-4/+4
|
* Fix finalizers in coroutine lanesBenoit Germain2024-07-041-2/+4
|
* Error handling in coroutine lanesBenoit Germain2024-07-041-22/+20
|
* It is possible to index and join a suspended coroutine laneBenoit Germain2024-07-031-13/+52
|
* Renamed set_debug_threadname → lane_threadname (can also read the current ↵Benoit Germain2024-07-031-17/+31
| | | | name now)
* Add minimal coroutine support: no doc, no error handling, no cancellation ↵Benoit Germain2024-07-031-24/+118
| | | | handling (yet)
* linda:limit() and linda:set() return a second value, a string representing ↵Benoit Germain2024-06-271-1/+1
| | | | the fill status
* Wording fix: parameter → argumentBenoit Germain2024-06-141-1/+1
|
* BoyscoutingBenoit Germain2024-06-141-4/+4
|
* Fix error handling when indexing a lane with unexpected dataBenoit Germain2024-06-141-5/+15
|
* lua_pushliteral -> luaG_pushstringBenoit Germain2024-06-141-12/+12
|
* More fixes to make clang happyBenoit Germain2024-06-141-4/+10
|
* A small step toward making clang happyBenoit Germain2024-06-131-17/+18
|
* Code boyscoutingBenoit Germain2024-06-121-5/+5
|