OpenBSD does not have close_range() nor does NetBSD.
OpenBSD needs environ like the other *BSD's.
The build was erroring on kp_pid, it looks like p_pid is appropriate.
* Make the library modular usable.
* Switch to library requirements instead of source. As source puts extra source in install targets.
* Add requires-b2 check to top-level build file.
* Add missing test deps.
* Bump B2 require to 5.2
* Fix duplicate def of boost.process.fs feature.
* Add missing boost_test dependency.
* Move inter-lib dependencies to a project variable and into the build targets.
* Switch to /boost/test//included target for header only mode of Boost.Test.
* Adjust doc build to avoid boost-root references.
* Update build deps.
* Fix link and build of deps.
This re-adds the close(source) call which already existed here before
commit caa7b2fcc8. pipe_out already closes the source fd when redirecting
stdout or stderr, it was just missing when redirecting both at once.
The pipe fds must be closed after redirecting to avoid keeping the pipe
open unnecessarily, for example the parent may want to close their end of
the pipe.
Closes: https://github.com/boostorg/process/issues/353
Signed-off-by: Daniel Klauer <daniel.klauer@gin.de>
_pipe_sink was assigned after call_on_setup(), after limit_fd_::on_setup(),
but this was too late. It must be assigned earlier so that
executor::get_used_handles() can see it and prevent limit_handles from
closing the internal pipe for passing exec() errors from child to parent.
Fixes: 1a1d677d
Closes: https://github.com/boostorg/process/issues/202
Signed-off-by: Daniel Klauer <daniel.klauer@gin.de>
On FreeBSD I would like to remove dependency on libprocstat completely, and replace it with libkvm to be more like the other *BSD platforms in terms of linker dependencies. This pull request is our first move in that direction.
Replace libprocstat with libkvm in cmd