mirror of
https://github.com/openai/codex.git
synced 2026-10-18 17:18:52 +00:00
## Why Unix command hooks use a `pre_exec` callback to detach from the controlling terminal, forcing the launcher to fork. Native spawn attributes can create the detached session without that callback. ## What changed - Route Unix hooks through `codex_utils_pty::Command` with `ProcessMode::NewSession`. - Extend the native `posix_spawn` launcher to detached Linux sessions, retaining compatibility fallbacks for unsupported libc features and executable handling. - Preserve the session environment snapshot, hook overrides, and restricted-variable filtering. ## Testing Add regression coverage for launches without parent forks, terminal detachment, environment and argument handling, Linux `PATH` lookup, and executable compatibility. Cover process-group cleanup on cancellation and timeout, including descendants holding output pipes open, and preservation of background descendants after completed hooks. GitOrigin-RevId: dbe2cf12d84aa79868cfb55ace40c7d5b5282703