aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/process.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/process.c b/src/process.c
index 77ca2551e46..ed535170214 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5150,11 +5150,16 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
5150 It can't hurt. */ 5150 It can't hurt. */
5151 else if (nread == -1 && errno == EIO) 5151 else if (nread == -1 && errno == EIO)
5152 { 5152 {
5153 /* Clear the descriptor now, so we only raise the signal once. */ 5153 /* Clear the descriptor now, so we only raise the
5154 FD_CLR (channel, &input_wait_mask); 5154 signal once. Don't do this is `process' is only
5155 FD_CLR (channel, &non_keyboard_wait_mask); 5155 a pty. */
5156 if (XPROCESS (proc)->pid != -2)
5157 {
5158 FD_CLR (channel, &input_wait_mask);
5159 FD_CLR (channel, &non_keyboard_wait_mask);
5156 5160
5157 kill (getpid (), SIGCHLD); 5161 kill (getpid (), SIGCHLD);
5162 }
5158 } 5163 }
5159#endif /* HAVE_PTYS */ 5164#endif /* HAVE_PTYS */
5160 /* If we can detect process termination, don't consider the process 5165 /* If we can detect process termination, don't consider the process