diff options
Diffstat (limited to 'boost/process/detail/posix/io_context_ref.hpp')
-rw-r--r-- | boost/process/detail/posix/io_context_ref.hpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/boost/process/detail/posix/io_context_ref.hpp b/boost/process/detail/posix/io_context_ref.hpp index 603fd59a16..6eefee2247 100644 --- a/boost/process/detail/posix/io_context_ref.hpp +++ b/boost/process/detail/posix/io_context_ref.hpp @@ -18,6 +18,7 @@ #include <boost/process/detail/posix/sigchld_service.hpp> +#include <boost/process/detail/posix/is_running.hpp> #include <functional> #include <type_traits> @@ -95,11 +96,11 @@ struct io_context_ref : handler_base_ext auto & es = exec.exit_status; auto wh = [funcs, es](int val, const std::error_code & ec) - { - es->store(val); + { + es->store(val); for (auto & func : funcs) - func(WEXITSTATUS(val), ec); - }; + func(::boost::process::detail::posix::eval_exit_status(val), ec); + }; sigchld_service.async_wait(exec.pid, std::move(wh)); } |