Skip to content

Wait for a command's output to drain before reporting its exit - #4

Merged
joetannenbaum merged 1 commit into
mainfrom
ci-fix
Aug 6, 2026
Merged

Wait for a command's output to drain before reporting its exit#4
joetannenbaum merged 1 commit into
mainfrom
ci-fix

Conversation

@joetannenbaum

Copy link
Copy Markdown
Collaborator

exit fires when a child process dies, not when we have read what it printed, so anything still sitting in the pipe arrived after we had already handled the exit and settled the run. A command that prints and exits straight away could lose its output entirely, which means inline mode could truncate a redirect to a log file. This is what failed the v0.2.0 publish run: the supervisor test settled with zero of three lines.

The exit is now held until both pipes close, with a 500ms grace period for the one case where waiting would hang rather than finish, a command that left a grandchild holding stdout so the pipe never closes at all.

@joetannenbaum
joetannenbaum merged commit 966537e into main Aug 6, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant