mirror of
https://github.com/openai/codex.git
synced 2026-04-29 08:56:38 +00:00
Handle exec shutdown on Interrupt (fixes immortal codex exec with websockets) (#10519)
### Motivation - Ensure `codex exec` exits when a running turn is interrupted (e.g., Ctrl-C) so the CLI is not "immortal" when websockets/streaming are used. ### Description - Return `CodexStatus::InitiateShutdown` when handling `EventMsg::TurnAborted` in `exec/src/event_processor_with_human_output.rs` so human-output exec mode shuts down after an interrupt. - Treat `protocol::EventMsg::TurnAborted` as `CodexStatus::InitiateShutdown` in `exec/src/event_processor_with_jsonl_output.rs` so JSONL output mode behaves the same. - Applied formatting with `just fmt`. ### Testing - Ran `just fmt` successfully. - Ran `cargo test -p codex-exec`; many unit tests ran and the test command completed, but the full test run in this environment produced `35 passed, 11 failed` where the failures are due to Landlock sandbox panics and 403 responses in the test harness (environmental/integration issues) and are not caused by the interrupt/shutdown changes. ------ [Codex Task](https://chatgpt.com/codex/tasks/task_i_698165cec4e083258d17702bd29014c1)
This commit is contained in:
@@ -871,6 +871,7 @@ impl EventProcessor for EventProcessorWithJsonOutput {
|
||||
}
|
||||
CodexStatus::InitiateShutdown
|
||||
}
|
||||
protocol::EventMsg::TurnAborted(_) => CodexStatus::InitiateShutdown,
|
||||
protocol::EventMsg::ShutdownComplete => CodexStatus::Shutdown,
|
||||
_ => CodexStatus::Running,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user