diff --git a/jobs.c b/jobs.c index 4982019..35f3f9d 100644 --- a/jobs.c +++ b/jobs.c @@ -3346,6 +3346,9 @@ itrace("waitchld: waitpid returns %d block = %d", pid, block); if (sigchld == 0) longjmp (wait_intr_buf, 1); } + else + run_sigchld_trap (children_exited); /* XXX */ +#if 0 /* If not in posix mode and not executing the wait builtin, queue the signal for later handling. Run the trap immediately if we are executing the wait builtin, but don't break out of `wait'. */ @@ -3357,6 +3360,7 @@ itrace("waitchld: waitpid returns %d block = %d", pid, block); run_sigchld_trap (children_exited); /* XXX */ else queue_sigchld_trap (children_exited); +#endif } /* We have successfully recorded the useful information about this process