diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/process.c b/src/process.c index 7b21d060cf8..92d5e692d0b 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -4773,11 +4773,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, | |||
| 4773 | Therefore, if we get an error reading and errno = | 4773 | Therefore, if we get an error reading and errno = |
| 4774 | EIO, just continue, because the child process has | 4774 | EIO, just continue, because the child process has |
| 4775 | exited and should clean itself up soon (e.g. when we | 4775 | exited and should clean itself up soon (e.g. when we |
| 4776 | get a SIGCHLD). | 4776 | get a SIGCHLD). */ |
| 4777 | |||
| 4778 | However, it has been known to happen that the SIGCHLD | ||
| 4779 | got lost. So raise the signal again just in case. | ||
| 4780 | It can't hurt. */ | ||
| 4781 | else if (nread == -1 && errno == EIO) | 4777 | else if (nread == -1 && errno == EIO) |
| 4782 | { | 4778 | { |
| 4783 | struct Lisp_Process *p = XPROCESS (proc); | 4779 | struct Lisp_Process *p = XPROCESS (proc); |
| @@ -4795,8 +4791,6 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, | |||
| 4795 | p->tick = ++process_tick; | 4791 | p->tick = ++process_tick; |
| 4796 | pset_status (p, Qfailed); | 4792 | pset_status (p, Qfailed); |
| 4797 | } | 4793 | } |
| 4798 | else | ||
| 4799 | handle_child_signal (SIGCHLD); | ||
| 4800 | } | 4794 | } |
| 4801 | #endif /* HAVE_PTYS */ | 4795 | #endif /* HAVE_PTYS */ |
| 4802 | /* If we can detect process termination, don't consider the | 4796 | /* If we can detect process termination, don't consider the |