rust/library
许杰友 Jieyou Xu (Joe) fde23c87a5
Rollup merge of #137463 - sunshowers:illumos-posix-spawn, r=Mark-Simulacrum
[illumos] attempt to use posix_spawn to spawn processes

illumos has `posix_spawn`, and the very newest versions also have `_addchdir`, so use that. POSIX standardized this function so I also added a weak symbol lookup for the non `_np` version. (illumos has both.)

This probably also works on Solaris, but I don't have access to an installation to validate this so I decided to focus on illumos instead.

This is a nice ~4x performance improvement for process creation. My go-to as usual is nextest against the clap repo, which acts as a stress test for process creation -- with [this commit]:

```console
$ cargo nextest run -E 'not test(ui_tests) and not test(example_tests)'
before: Summary [   1.747s] 879 tests run: 879 passed, 2 skipped
after:  Summary [   0.445s] 879 tests run: 879 passed, 2 skipped
```

[this commit]: fde45f9aea
2025-03-05 21:46:40 +08:00
..
alloc Auto merge of #138031 - workingjubilee:rollup-5bsotpz, r=workingjubilee 2025-03-05 06:59:11 +00:00
backtrace@9d2c34e7e6 Update backtrace 2025-02-13 14:32:50 -08:00
core Rollup merge of #136662 - thaliaarchi:formatter-pad-char-count, r=m-ou-se 2025-03-05 21:46:33 +08:00
coretests Rollup merge of #134063 - tgross35:dec2flt-refactoring, r=Noratrieb 2025-03-05 21:46:31 +08:00
panic_abort panic_abort: Apply unsafe_op_in_unsafe_fn 2025-02-14 07:36:17 -08:00
panic_unwind update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
portable-simd Remove ignored #[must_use] attributes from portable-simd 2025-02-12 13:59:22 +01:00
proc_macro proc_macro: Apply unsafe_op_in_unsafe_fn 2025-02-14 07:36:17 -08:00
profiler_builtins compiler & tools dependencies: 2024-12-17 17:41:00 +00:00
rtstartup Mark extern blocks as unsafe 2025-02-09 17:11:13 +00:00
rustc-std-workspace-alloc
rustc-std-workspace-core update rustc-std-workspace crates 2024-11-04 07:45:15 +01:00
rustc-std-workspace-std
std Rollup merge of #137463 - sunshowers:illumos-posix-spawn, r=Mark-Simulacrum 2025-03-05 21:46:40 +08:00
stdarch@684de0d6fe Bump stdarch 2024-12-24 19:00:57 +01:00
sysroot Rollup merge of #135501 - tgross35:stdlib-dependencies-private, r=bjorn3 2025-02-23 00:16:18 +01:00
test Use correct error message casing for io::const_errors 2025-02-28 17:50:38 +01:00
unwind update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
windows_targets Mark extern blocks as unsafe 2025-02-09 17:11:13 +00:00
Cargo.lock Rollup merge of #137463 - sunshowers:illumos-posix-spawn, r=Mark-Simulacrum 2025-03-05 21:46:40 +08:00
Cargo.toml Put all coretests in a separate crate 2025-01-26 10:26:36 +00:00