LUMIERA.clone/src
Ichthyostega 6735857f3b Library: draft a SyncBarrier latch
Intended as replacement for the Mutex/ConditionVar based barrier
built into the exiting Lumiera thread handling framework and used
to ensure safe hand-over of a bound functor into the starting new
thread. The standard requires a comparable guarantee for the C++17
concurrency framework, expressed as a "synchronizes_with" assertion
along the lines of the Atomics framework.

While in most cases dedicated synchronisation is thus not required
anymore when swtiching to C++17, some special extended use cases
remain to be addressed, where the complete initialisation of
further support framework must be ensured.

With C++20 this would be easy to achieve with a std::latch, so we
need a simple workaround for the time being. After consideration of
the typical use case, I am aiming at a middle ground in terms of
performance, by using a yield-wait until satisfying the latch condition.
2023-09-22 21:55:53 +02:00
..
common some whitespace clean-up 2021-08-20 14:33:21 +02:00
include Clip-Drag: consider translation of command ctxID into a InteractionState implementation 2021-03-28 18:03:40 +02:00
lib Library: draft a SyncBarrier latch 2023-09-22 21:55:53 +02:00
lumiera Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
plugin
stage Block-Flow: provide specialised ctor notation 2023-07-07 03:41:30 +02:00
steam Activity-Lang: wire Job invocation in the activity::Term builder 2023-08-29 04:19:19 +02:00
tool Doxygen: fill in missing file level headlines for some supplemental code 2016-11-09 20:09:19 +01:00
vault Library: prepare switch of Thread-wrapper to C++17 2023-09-21 23:23:55 +02:00
.gitignore
DIR_INFO update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
doxygen.dox Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
SConscript Global-Layer-Renaming: fix handling of GuiResources in the build 2018-11-16 18:18:33 +01:00