Mercurial > emacs
changeset 23035:8d68b82a4d8c
(wait_reading_process_input): If a pty gives EIO,
raise SIGCHLD just in case.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 15 Aug 1998 05:53:00 +0000 |
parents | c458948948a9 |
children | ee3a3af924b4 |
files | src/process.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/process.c Sat Aug 15 05:49:39 1998 +0000 +++ b/src/process.c Sat Aug 15 05:53:00 1998 +0000 @@ -2676,9 +2676,13 @@ Therefore, if we get an error reading and errno = EIO, just continue, because the child process has exited and should clean itself up soon (e.g. when we - get a SIGCHLD). */ + get a SIGCHLD). + + However, it has been known to happen that the SIGCHLD + got lost. So raise the signl again just in case. + It can't hurt. */ else if (nread == -1 && errno == EIO) - ; + kill (getpid (), SIGCHLD); #endif /* HAVE_PTYS */ /* If we can detect process termination, don't consider the process gone just because its pipe is closed. */