From cb2f9521433e3cc8eee750a8f2101c07562abbec Mon Sep 17 00:00:00 2001 From: Michael Bolin Date: Thu, 28 Aug 2025 22:41:10 -0700 Subject: [PATCH] fix: remove unnecessary flush() calls (#2873) Because we are writing to a pipe, these `flush()` calls are unnecessary, so removing these saves us one syscall per write in these two cases. --- codex-rs/mcp-client/src/mcp_client.rs | 5 +---- codex-rs/mcp-server/src/lib.rs | 4 ---- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/codex-rs/mcp-client/src/mcp_client.rs b/codex-rs/mcp-client/src/mcp_client.rs index 084d0bf4..60a454d3 100644 --- a/codex-rs/mcp-client/src/mcp_client.rs +++ b/codex-rs/mcp-client/src/mcp_client.rs @@ -129,10 +129,7 @@ impl McpClient { error!("failed to write newline to child stdin"); break; } - if stdin.flush().await.is_err() { - error!("failed to flush child stdin"); - break; - } + // No explicit flush needed on a pipe; write_all is sufficient. } Err(e) => error!("failed to serialize JSONRPCMessage: {e}"), } diff --git a/codex-rs/mcp-server/src/lib.rs b/codex-rs/mcp-server/src/lib.rs index f4bebdf5..b1397846 100644 --- a/codex-rs/mcp-server/src/lib.rs +++ b/codex-rs/mcp-server/src/lib.rs @@ -134,10 +134,6 @@ pub async fn run_main( error!("Failed to write newline to stdout: {e}"); break; } - if let Err(e) = stdout.flush().await { - error!("Failed to flush stdout: {e}"); - break; - } } Err(e) => error!("Failed to serialize JSONRPCMessage: {e}"), }