Changes for version 0.007 - 2026-02-19
- API
- Removed all backward compatibility paths.
- Constructor now strictly requires: Linux::Event::Fork->new($loop, %args) The legacy `loop => $loop` form has been removed.
- Removed internal `_spawn` alias.
- spawn() continues to return either: Linux::Event::Fork::Child (started immediately) Linux::Event::Fork::Request (queued due to max_children)
- Removed all backward compatibility paths.
- New Features
- max_children() is now a runtime getter/setter. $fork->max_children($n) Increasing the limit may immediately start queued requests. Decreasing the limit does not affect running children.
- Linux::Event::Fork::Child: Added:
- is_running()
- exit()
- exit() returns a Linux::Event::Fork::Exit object once available.
- Linux::Event::Fork::Exit: Now stores and exposes pid(). Constructor updated to: Exit->new($pid, $status)
- Documentation
- Fully rewritten POD for: Linux::Event::Fork Linux::Event::Fork::Child Linux::Event::Fork::Request Linux::Event::Fork::Exit
- Removed all references to old injection-based API.
- Clarified execution model and capacity/queue semantics.
- Tests
- Added t/15-max-children-runtime.t Verifies runtime increase of max_children drains queue correctly.
- Removed reliance on deprecated constructor forms.
- Internal
- Removed experimental signature warning (no @_ usage in signatured subs).
- Cleaned capacity bookkeeping during runtime limit changes.
Modules
Child process management integrated with Linux::Event
Handle for a running (or exited) 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