]> git.eshelyaron.com Git - emacs.git/commitdiff
(wait_reading_process_input): If a pty gives EIO,
authorRichard M. Stallman <rms@gnu.org>
Sat, 15 Aug 1998 05:53:00 +0000 (05:53 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 15 Aug 1998 05:53:00 +0000 (05:53 +0000)
raise SIGCHLD just in case.

src/process.c

index 2ca75250706d934366ba46338470f379bf53cf64..0e5ae9e3fe260bd2e0f9db1bb12a4edb5bfdb042 100644 (file)
@@ -2676,9 +2676,13 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
                 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.  */