+static void signal_chld(int signo)
+{
+int status;
+pid_t pid;
+
+ signal(SIGCHLD,(RETSIGTYPE (*)(int))signal_chld);
+ /* we don't care about siginterrupt(3) as it doesn't matter how it is set */
+
+ d2("signal_chld: signo=%d\n",signo);
+ while (0<(pid=waitpid(-1 /* ANY process */,&status,WNOHANG /* options */))) {
+ if (verbose>=2)
+ error(_(".Child process w/PID %d has exited, %s, status=%d"),
+ pid,(WIFEXITED(status)? _("normally") : _("abnormally")),(WIFEXITED(status) ? WEXITSTATUS(status) : -1));
+ }
+}
+