Changes for version 1.15 - 2026-05-26
- Refactor how we initialize $VERSION. It's no longer in a BEGIN block. That broke Dist::Mgr
- Fixes #60: Fix FETCH deadlock when inner child re-decode acquires SH lock against LOCK_EX cascade held by _lock_children
- Fix OpenBSD 64-bit shmid_ds binary layout (verified via offsetof on 7.4): segsz is int (4B not 8B), nattch is short (2B), and struct has nanosecond fields between time_t values. Updated t/80-SharedMem.t synthetic test and shm_segments() segsz extraction to match.
- Added OpenBSD test VM infrastructure
- t/20-lock_operation.t: probe for adequate semaphore resources before running, skip gracefully on low-limit platforms (OpenBSD semmni=10). Added periodic _end() cleanup calls so peak semaphore usage stays within the default limit on OpenBSD.
- Added 'testing' flag; allows bulk cleanup of leaked segs/sems from a previous test run. This was implemented in this distribution's unit test suite
- Add Firefly unit test VM infrastructure
- Fix t/80-SharedMem.t: skip 64-bit tests on 32-bit Perl where the 'q' pack template is unavailable (Raspian OS specifically)
Modules
Use shared memory backed variables across processes
Allows access to a shared memory segment via an object oriented interface.
Provides
in lib/IPC/Shareable/SharedMem.pm