How the loop that runs our children should learn that a child has ended, and what to do now about a defect found on the way. Asked for in your message of 2026-11-01 (13:41): the handler's design “has been a very important decision and its facets should have been discussed in detail”.
Words used throughout. The executor: ShellSpawn, the module that runs ShellSubset parse trees through posix_spawn (claude/pspawn-design.md). The loop: its one place that waits, in select, for children to end and for pipes that Perl itself reads. A reaction: what is to happen when a child has ended (start the next command, set $?, …). An immediate signal handler runs inside the signal, in the middle of whatever Perl is doing; a deferred one runs later, between two Perl operations. The findings S1–S7, C1–C4, I1–I3 are in claude/perl-signals-findings.md.
Loading marks…