diff -up conga-0.12.2/ricci/common/executils.cpp.waitpidfix conga-0.12.2/ricci/common/executils.cpp --- conga-0.12.2/ricci/common/executils.cpp.waitpidfix 2010-03-17 14:38:38.000000000 -0500 +++ conga-0.12.2/ricci/common/executils.cpp 2010-03-17 14:40:22.000000000 -0500 @@ -188,9 +188,13 @@ sleep(2); // wait for events int ret = poll(poll_data, s, 500); - if (ret == 0) + if (ret == 0) { + int status; + waitpid(pid, &status, WNOHANG); + if (WIFEXITED(status)) + break; continue; - else if (ret == -1) { + } else if (ret == -1) { if (errno == EINTR) continue; else {