diff --git a/lib/procs.cpp b/lib/procs.cpp index 5b61ea18..7afa1851 100644 --- a/lib/procs.cpp +++ b/lib/procs.cpp @@ -95,6 +95,10 @@ void Util::Procs::childsig_handler(int signum){ if (ret == 0){ //ignore, would block otherwise return; }else if (ret < 0){ + if (errno == EINTR){ + childsig_handler(signum); + return; + } #if DEBUG >= 3 std::cerr << "SIGCHLD received, but no child died"; #endif