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. |
||
|---|---|---|
| .. | ||
| common | ||
| include | ||
| lib | ||
| lumiera | ||
| plugin | ||
| stage | ||
| steam | ||
| tool | ||
| vault | ||
| .gitignore | ||
| DIR_INFO | ||
| doxygen.dox | ||
| SConscript | ||