Revision history for Data::Heap::Shared
0.10 2026-09-26
- A process killed mid push or pop no longer loses, duplicates or
misorders an element: the next lock holder finishes it.
- Segments are reserved, so a full filesystem fails the constructor;
DATA_HEAP_SHARED_SPARSE=1 skips the reservation.
- A failed create no longer leaves a full-size file behind.
0.09 2026-09-15
- Recover a lock left ownerless by a corrupt file instead of hanging.
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-22
- Fix a use-after-free in pop_wait(): an overloaded or tied timeout
argument runs Perl that can destroy the heap, after which the
already-captured handle was still used. Such a call now croaks.
- Read the shared size once per push/pop, not repeatedly.
- Resolve argument magic before capturing the path string.
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
- sift_down: compute child indices in 64-bit to avoid a uint32 overflow
(2*idx+1) that corrupted the heap past ~2^31 entries
0.04 2026-05-27
- Cap capacity at UINT32_MAX; (uint32_t) cast in capacity check
no longer silently truncates oversized files
- heap_setup closes backing fd on calloc OOM (memfd/dup leak fix)
0.03 2026-04-26
- memfd sealing + factored validate header
- stale-mutex wake; stat recoveries uint64 t
- idempotent eventfd; aarch64 CI matrix
0.02 2026-04-12
- Make clear() concurrency-safe (mutex-protected)
0.01 2026-04-12
- Initial release
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)