24e89883c4
Phase 1 leaves on both pipes reaching EOF without an exit status, so the final wait was the only thing holding the turn -- and it was a bare child.wait(), which stranded the cancel channel against a child that closes its pipes and lingers. Poll cancellation there too.