* Ensure that we can clean up any child processes. We
* don't want them left over as zombies.
*/
- if (fr_event_pid_wait(request->el, request->el, NULL, pid, NULL, NULL) < 0) return -1;
+ if (fr_event_pid_reap(request->el, pid) < 0) return -1;
return 0;
}
}
if (exec->pid) {
- (void) fr_event_pid_wait(request->el, request->el, NULL, exec->pid, NULL, NULL);
exec->pid = 0;
+ if (fr_event_pid_reap(request->el, exec->pid) < 0) {
+ RPERROR("Failed setting up async PID reaper, PID %u may now be a zombie", exec->pid);
+ }
}
if (exec->ev) fr_event_timer_delete(&exec->ev);