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.  */