I asked Claude Fable 5 to review our macOS process spawning layer, and it found two notable bugs: - We didn't mark stdio descriptors as inherited when the `Inherit` option was passed. This means they would be closed in the child due to `POSIX_SPAWN_DEFAULT_CLOEXEC`. Now we correctly mark them as inherited. - Child processes were inheriting Rust's default `SIG_IGN` disposition for `SIGPIPE`. `std::process::Command` resets the disposition to `SIG_DFL` for children, and this PR makes us do that too, with a regression test. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
1 file changedLine totals unavailable