Merge pull request #5 from yytdfc/dev

Fix Issue #4 adding a SIGCHLD handler.
This commit is contained in:
Arun Muralidharan 2017-08-04 10:44:04 +05:30 committed by GitHub
commit f650a47250

View File

@ -42,6 +42,7 @@ Documentation for C++ subprocessing libraray.
#include <cassert>
#include <cstring>
#include <cstdio>
#include <csignal>
#include <future>
#include <vector>
#include <sstream>
@ -1150,6 +1151,11 @@ void Popen::execute_process() throw (CalledProcessError, OSError)
}
exe_name_ = vargs_[0];
std::signal(SIGCHLD, [](int sig){
int status;
waitpid(-1, &status, WNOHANG);
});
child_pid_ = fork();
if (child_pid_ < 0) {