aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTassilo Horn2015-09-22 07:43:39 +0200
committerTassilo Horn2015-09-22 07:43:39 +0200
commit27f871907cc24f33a7d12ac3a4ab71a88f0bc554 (patch)
tree751ed2ea68088191e9df89f94190472941083a85 /src
parent084b8af8e0bddadfca840b7439e10fdf44d1b22a (diff)
downloademacs-27f871907cc24f33a7d12ac3a4ab71a88f0bc554.tar.gz
emacs-27f871907cc24f33a7d12ac3a4ab71a88f0bc554.zip
Remove callback-handled channels from Available set
* src/process.c (wait_reading_process_output): Remove channel from Available set if it is handled by a callback, e.g., dbus or inotify (bug#21313).
Diffstat (limited to 'src')
-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,
5036 && FD_ISSET (channel, &Available)) 5036 && FD_ISSET (channel, &Available))
5037 || (d->condition & FOR_WRITE 5037 || (d->condition & FOR_WRITE
5038 && FD_ISSET (channel, &write_mask)))) 5038 && FD_ISSET (channel, &write_mask))))
5039 d->func (channel, d->data); 5039 {
5040 d->func (channel, d->data);
5041 FD_CLR (channel, &Available);
5042 }
5040 } 5043 }
5041 5044
5042 for (channel = 0; channel <= max_process_desc; channel++) 5045 for (channel = 0; channel <= max_process_desc; channel++)