diff options
| author | Tassilo Horn | 2015-09-22 07:43:39 +0200 |
|---|---|---|
| committer | Tassilo Horn | 2015-09-22 07:43:39 +0200 |
| commit | 27f871907cc24f33a7d12ac3a4ab71a88f0bc554 (patch) | |
| tree | 751ed2ea68088191e9df89f94190472941083a85 /src | |
| parent | 084b8af8e0bddadfca840b7439e10fdf44d1b22a (diff) | |
| download | emacs-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.c | 5 |
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++) |