Revision history for Data-Queue-Shared
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.
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)