Revision history for Data-Queue-Shared 0.11 2026-10-16 - Keep integer waiters progressing after out-of-order reservations. - Recover missed wakes after a peer dies; fix string-space notifications. - Preserve eventfd ownership and notification counts across queue variants. 0.10 2026-09-26 - A killed push, pop or clear no longer corrupts a Str queue. - Int, Int32 and Int16 queues reserve their segment, so a full filesystem fails the constructor; DATA_QUEUE_SHARED_SPARSE=1 skips it. Str queues reserve only with DATA_QUEUE_SHARED_SPARSE=0. - A failed create no longer leaves a full-size file behind. 0.09 2026-09-15 - Fix size/is_full during a concurrent pop, and pop_wait_multi(0). - push_wait_multi's timeout bounds the whole call. - Str push_multi wakes consumers before croaking on too big a value. - Refuse non-regular files and more corrupt headers; an ownerless lock no longer hangs. 0.08 2026-08-12 - A file left by an interrupted create is recovered, not refused. - Hardening against tied and overloaded arguments. - unlink() reports a failed removal; a missing file is no error. 0.07 2026-07-21 - Fetch get-magic on optional arguments before testing them. 0.06 2026-07-03 - Security and robustness hardening; backing files now created mode 0600 (pass a file-mode argument to new() for cross-user sharing). 0.05 2026-06-01 - Str push_multi: hoist SvPV out of the mutex so a tied/overloaded argument that dies mid-batch can't abandon the lock and deadlock peers 0.04 2026-05-27 - *_wait: fix missed-wakeup race (announce waiter before sampling seq) - batch ops (push_multi/pop_multi/drain) wake N waiters, not 1 - pop_multi caps requested count at capacity (bound malloc, avoid size_t overflow on adversarial input) - eventfd_set no longer closes caller-supplied fds 0.03 2026-04-26 - Init under flock; mutex recovery wakes one waiter; Str clear wakes all. - eventfd consume returns the accumulated count; hardened DESTROY. - The recoveries stat is 64-bit. 0.02 2026-04-12 - Add SEE ALSO cross-links to family modules 0.01 2026-04-05 - Initial release: lock-free Vyukov MPMC Int queue; Str queue with a circular arena and deque ops. - File, anonymous or memfd; futex waits with timeout; batch ops; eventfd; stale-lock recovery.