*** sselect.c.orig Mon Mar 31 11:12:18 2003 --- sselect.c Mon Mar 31 10:20:57 2003 *************** *** 42,51 **** --- 42,60 ---- #ifndef USE_WIN32 + /* Modified to use waitpid() loop to account for idiotic IRIX + SIGCHLD/SIGCLD semantics. --jf + */ static void sigchld_handler(int sig) { /* SIGCHLD detected */ int save_errno=errno; + pid_t pid; + int status; write(signal_pipe[1], signal_buffer, 1); + pid = waitpid(-1, &status, WNOHANG); + while (pid > 0) { + pid = waitpid(-1, &status, WNOHANG); + } signal(SIGCHLD, sigchld_handler); errno=save_errno; }