mirror of
https://github.com/boostorg/fiber.git
synced 2026-02-02 08:52:07 +00:00
* remove context::wait_hook_ and context::twstatus in flavor to waker_epoch_ and waker class * this avoids data races in case of wait_until() operations, when the context could be timeouted and rescheduled on the other OS thread. In this case could be data races with context::wait_hook_ and inconsistences context::twstatus states. * using context::waker_epoch_ introduces mechanism when the old wakers become outdated and waker::wake() is just no op. This fixes data races explained in the previous point * fibers waiting queue with timeouts and notification mechanisms are incapsulated into wait_queue class. This introduces simple abstraction level to be used in different synchronization primitives