|
libmizu 0.0.1
Lock-free shared-memory IPC
|
One parker per waiting entity: a 32-bit monotonic epoch word in the shared region plus, on Windows only, one named auto-reset event (the epoch compare is not atomic with the sleep there). More...
#include <mizu_ext.h>
Data Fields | |
| uint32_t * | epoch |
| in the shared region | |
One parker per waiting entity: a 32-bit monotonic epoch word in the shared region plus, on Windows only, one named auto-reset event (the epoch compare is not atomic with the sleep there).
Park sites follow snapshot -> announce -> re-check -> sleep-bounded; any unpark that observes the announcement bumps the epoch after the snapshot, so the sleep returns immediately. Spurious wakes are absorbed by the caller's re-check. This handshake is the sole guarantee against lost wakeups — no watchdog sits behind it.