A couple of small bugfixes from Marshall M. Midden <m4@brecis.com>

This commit is contained in:
Eric Andersen 2002-07-31 04:04:47 +00:00
parent 87715170cc
commit 7373e485d3

View File

@ -1462,8 +1462,11 @@ static int busy_loop(FILE * input)
while (!job_list.fg->progs[i].pid ||
job_list.fg->progs[i].is_stopped == 1) i++;
if (waitpid(job_list.fg->progs[i].pid, &status, WUNTRACED)<0)
perror_msg_and_die("waitpid(%d)",job_list.fg->progs[i].pid);
if (waitpid(job_list.fg->progs[i].pid, &status, WUNTRACED)<0) {
if (errno != ECHILD) {
perror_msg_and_die("waitpid(%d)",job_list.fg->progs[i].pid);
}
}
if (WIFEXITED(status) || WIFSIGNALED(status)) {
/* the child exited */
@ -1500,7 +1503,7 @@ static int busy_loop(FILE * input)
free(command);
/* return controlling TTY back to parent process group before exiting */
if (tcsetpgrp(shell_terminal, parent_pgrp))
if (tcsetpgrp(shell_terminal, parent_pgrp) && errno != ENOTTY)
perror_msg("tcsetpgrp");
/* return exit status if called with "-c" */