Issue #48624 is adding support for the more efficient posix_spawn in some cases of Command.spawn. The posix_spawn of NetBSD and DragonFlyBSD supports returning ENOENT directly so these platforms can grow support for it. They just need the libc bindings (like in https://github.com/rust-lang/libc/commit/92d50c9c79e7038db097344d8f00e774277ee519) and then an update to libstd's Command target list as done in #48624.
OpenBSD does not support this though as their implementation uses fork rather than vfork and lacks a communication back to the parent about the exec failure.
This test .c file was used to check for the needed support:
Issue #48624 is adding support for the more efficient
posix_spawn
in some cases ofCommand.spawn
. Theposix_spawn
of NetBSD and DragonFlyBSD supports returning ENOENT directly so these platforms can grow support for it. They just need the libc bindings (like in https://github.com/rust-lang/libc/commit/92d50c9c79e7038db097344d8f00e774277ee519) and then an update to libstd's Command target list as done in #48624.OpenBSD does not support this though as their implementation uses
fork
rather thanvfork
and lacks a communication back to the parent about theexec
failure.This test .c file was used to check for the needed support:
A failing assert means the platform cannot grow
posix_spawn
support.