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
Examples
- examples/01_timer_after.pl
- examples/02_timer_at.pl
- examples/03_watch_read_pipe.pl
- examples/04_watch_replace.pl
- examples/05_watch_oneshot.pl
- examples/06_unwatch_safe.pl
- examples/07_edge_triggered_note.pl
- examples/08_signal.pl
- examples/09_waker_thread.pl
- examples/10_waker_fork_pipe.pl
- examples/11_pid.pl
- examples/95_bench_oneshot.pl
- examples/96_stress_oneshot_edge_safe.pl
- examples/97_linux_epoll_oneshot_rearm.pl
- examples/98_regress_stop_no_backend_wait.pl
- examples/99_regress_epoll_oneshot_rearm.pl
- examples/all.pl