summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/process.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c
index 55f31a02673..73704c03ee7 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5036,7 +5036,10 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
&& FD_ISSET (channel, &Available))
|| (d->condition & FOR_WRITE
&& FD_ISSET (channel, &write_mask))))
- d->func (channel, d->data);
+ {
+ d->func (channel, d->data);
+ FD_CLR (channel, &Available);
+ }
}
for (channel = 0; channel <= max_process_desc; channel++)