Changes for version 0.13 - 2026-09-22

  • FIXES two carves refused in four thousand on a loaded FreeBSD 15 smoker, with room in the arena for all of them.
  • A carve refused for a held stripe answers SA_E_BUSY, not SA_E_FULL: one means try again, the other means stop.
  • Add Shared::Arena::_last_err: why the last ->region returned empty.
  • FIXES t/32-map-ttl.t counting three hits where it asked for two.

Modules

memory two processes can both read, without a syscall
a shared set that answers "no" exactly and "yes" probably
a shared cache that evicts instead of refusing
how often a key has been seen, in fixed space
a shared set that answers "no" exactly, "yes" probably, and can forget
one structure, published once and read in place by every process
read a published block without copying it
a distribution every process adds to at once
how many distinct, in a few kilobytes
one holder at a time, and a successor when it dies
a fixed-capacity map several processes share
a token bucket per key, shared by every worker
a record queue several processes can write at once
one reader's position in a ring
one record to one member of the pool
one row per worker, published live