Add exec-server filesystem RPC implementation#15091
Add exec-server filesystem RPC implementation#15091starr-openai wants to merge 9 commits intostarr/exec-server-exec-freshfrom
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bfdd8bcc65
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| tokio::spawn(async move { | ||
| if let Err(err) = handler.handle_message(message).await { | ||
| warn!("exec-server request failed after protocol error: {err}"); | ||
| } | ||
| }); |
There was a problem hiding this comment.
Handle inbound RPCs in-order per connection
run_connection now spawns every inbound message on a detached task. That allows initialized and the following process/start to run out of order, so exec can observe initialized=false and reject a valid handshake sequence with client must send initialized.... This makes correctly ordered client traffic nondeterministically fail.
Useful? React with 👍 / 👎.
| handler.shutdown().await; | ||
| drop(handler); | ||
| drop(outgoing_tx); | ||
| let _ = outbound_task.await; |
There was a problem hiding this comment.
Track spawned handler tasks before shutdown
Per-message tasks are detached and never joined/aborted. During disconnect, run_connection waits for outbound_task, but in-flight handler tasks still hold Arc<ExecServerHandler>/outbound_tx. A long process/read can keep teardown hanging, and an in-flight exec can start a process after shutdown() has already run, leaving it unmanaged.
Useful? React with 👍 / 👎.
79b46e3 to
c5071a9
Compare
67fa0dc to
6742da0
Compare
c5071a9 to
84a6cbe
Compare
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
b892b77 to
6245099
Compare
Stacked PR 3/3, based on the exec PR.
Adds filesystem RPCs and the client/backend cleanup on top of the exec implementation.