Revision history for Linux-Event-Fork
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)
[ 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.
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.