Repository navigation
Preserve remote exec output until it is collected - #53622
Merged
copyberry[bot] merged 1 commit intoOct 13, 2026
Merged
copyberry[bot] merged 1 commit into
copyberry[bot] merged 1 commit into
Conversation
## Why Remote process exit can arrive before the final output, and inherited pipes can keep the output stream open after exit. Removing the session at exit can lose output that should remain available to `write_stdin` polls. ## What changed - Retain remote sessions with open or unread output after exit, including early exits and cancelled initial collection. - Collect pending output when `write_stdin` races with exit, skipping stdin writes once remote exit is known. - After initial collection finishes and the process exits, allow a five-second grace period before a final background read. Respect active polling deadlines and keep later polls available while that read recovers retained output. - Let explicit termination stop output collection even when the process has already exited, and install the exit watcher before cancellable cleanup. ## Testing Extend remote process event tests to cover output arriving after the initial yield, polling during a delayed final read, active polls exceeding the background grace period, resumable cancellation, and termination before the initial yield. GitOrigin-RevId: b1671fad8b61a2cdecf7cf9fdf92e57c028c7af8
copyberry
Bot
force-pushed
the
copyberry/codex-internal-to-codex-oss/b1671fad8b61a2cdecf7cf9fdf92e57c028c7af8
branch
from
October 13, 2026 09:34
2bbd962 to
b043762
Compare
Contributor
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
copyberry
Bot
deleted the
copyberry/codex-internal-to-codex-oss/b1671fad8b61a2cdecf7cf9fdf92e57c028c7af8
branch
October 13, 2026 09:34
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preserve remote exec output until it is collected
Why
Remote process exit can arrive before the final output, and inherited pipes can keep the output stream open after exit. Removing the session at exit can lose output that should remain available to
write_stdinpolls.What changed
write_stdinraces with exit, skipping stdin writes once remote exit is known.Testing
Extend remote process event tests to cover output arriving after the initial yield, polling during a delayed final read, active polls exceeding the background grace period, resumable cancellation, and termination before the initial yield.