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)
  • 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