Changes for version 0.006 - 2026-02-14

  • Fix: stop() no longer falls into backend wait in the same tick after stop() is called.
  • Fix: EPOLLONESHOT rearm is reliable even when the effective mask is unchanged.
  • Fix: after(0) no longer disarms the timer; it arms a minimal non-zero delay for immediate scheduling.
  • Fix: run()/run_once() derives epoll wait timeout from next timer deadline when no explicit timeout is provided.
  • Tests: add regressions for stop/no-wait, EPOLLONESHOT rearm, oneshot watcher persistence, and after(0).
  • Examples: add reliable oneshot+edge stress and a simple pipe throughput benchmark.

Modules

Front door for the Linux::Event ecosystem
Backend contract for Linux::Event::Loop
epoll backend for Linux::Event
Linux-native event loop (epoll + timerfd + signalfd + eventfd + pidfd)
pidfd-backed process exit notifications for Linux::Event
Internal timer queue for Linux::Event
signalfd integration for Linux::Event
eventfd-backed wakeups for Linux::Event
Mutable watcher handle for Linux::Event::Loop

Provides

in lib/Linux/Event/Pid.pm
in lib/Linux/Event/Signal.pm