about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorBryan Drewery <bryan@shatow.net>2018-02-27 14:12:52 -0800
committerBryan Drewery <bryan@shatow.net>2018-02-28 15:36:32 -0800
commit85b82f254e28f5e50b25d8e096af0f01e4441ef7 (patch)
tree678c934bdccd363b7d3ed889d9ec4b42cb7e0396 /src/rustllvm/RustWrapper.cpp
parentb3ecf5f57ca9d34d10ffd9d064a027ce3f4888ac (diff)
downloadrust-85b82f254e28f5e50b25d8e096af0f01e4441ef7.tar.gz
rust-85b82f254e28f5e50b25d8e096af0f01e4441ef7.zip
Support posix_spawn() for FreeBSD.
spawn() is expected to return an error if the specified file could not be
executed.  FreeBSD's posix_spawn() supports returning ENOENT/ENOEXEC if
the exec() fails, which not all platforms support.  This brings a very
significant performance improvement for FreeBSD, involving heavy use of
Command in threads, due to fork() invoking jemalloc fork handlers and
causing lock contention.  FreeBSD's posix_spawn() avoids this problem
due to using vfork() internally.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions