mirror of
https://github.com/openai/codex.git
synced 2026-09-28 16:53:06 +08:00
## Why Linux pipe launches need session, parent-death signal, and descriptor setup. Move this work into a fresh, single-threaded executable image to avoid forking the app-server for child setup. ## What changed - Register an early setup helper and launch it through `posix_spawn` for Linux pipe processes. - Start the helper with an empty environment, then transfer the target environment over a control socket so loader settings cannot interfere with helper startup. - Await target execution asynchronously, propagate setup and execution errors, and kill incomplete launches on cancellation. - Preserve direct spawning as a fallback when the helper is unavailable or fails before target execution. ## Testing Add coverage for launch semantics, avoiding fork, loader environment isolation, early argument dispatch, closed standard descriptors, and fallback under bootstrap failure or descriptor pressure. Add an app-server regression test that reuses a process handle after an execution failure. GitOrigin-RevId: 079c673f0f22ebd531f8c57e5338095cc98acfdc