Changes for version 0.006 - 2026-02-18
- Timeout escalation: on timeout, send SIGTERM, then optionally escalate to SIGKILL after timeout_kill seconds if the child is still running.
- Canonicalized timeout options: timeout and timeout_kill are the only supported keys (removed internal/accidental *_s variants).
- Bounded parallelism and queueing: improved runtime configuration via $loop->fork_helper(max_children => ...); tests updated accordingly.
- Public API introspection: standardized on running() / queued() / max_children().
- Internal cleanup: tightened watcher/timer cancellation to prevent stalls or leaked timers when children exit or are detached.
- Documentation: clarified execution model (callbacks run in parent; child runs exec/callback only) and expanded SYNOPSIS/options coverage.
Modules
Asynchronous child process management for Linux::Event
Handle for a running child process
Value object describing how a child process ended
A queued spawn request when max_children is reached
Examples
- examples/01_webpage_download.pl
- examples/12_fork_exit_object.pl
- examples/13_fork_child_callback.pl
- examples/14_fork_stdin_streaming.pl
- examples/20_bounded_parallelism_with_drain.pl
- examples/21_web_fetch_pool.pl
- examples/22_timeout_kill.pl
- examples/23_cancel_queued_by_tag.pl
- examples/24_child_callback_exec.pl
- examples/25_chunking_notes.pl
- examples/90_stress_timeout_churn.pl
- examples/91_stress_stdin_with_timeout.pl
- examples/README.md