Box app-server request handler futures to reduce stack usage (#46107)

Use `Box::pin` when awaiting `handle_initialized_client_request` to keep
queued requests small and avoid large stack temporaries during construction.

GitOrigin-RevId: f3d1a6f9129f8b3a612cf054dbbb315ca61601dc
This commit is contained in:
Eric Traut
2026-09-17 04:05:59 +00:00
committed by copyberry
parent 16f59db96e
commit 77c1feb00e

View File

@@ -1019,15 +1019,15 @@ impl MessageProcessor {
return;
}
let processor_for_request = Arc::clone(&processor);
let result = processor_for_request
.handle_initialized_client_request(
connection_request_id,
codex_request,
request_context,
session,
event_stream_ready,
)
.await;
// Keep queued requests small to avoid large stack temporaries during construction.
let result = Box::pin(processor_for_request.handle_initialized_client_request(
connection_request_id,
codex_request,
request_context,
session,
event_stream_ready,
))
.await;
if let Err(error) = result {
processor.outgoing.send_error(error_request_id, error).await;
}