diff options
author | Robert Pluim <rpluim@gmail.com> | 2015-09-05 11:37:29 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2015-09-05 11:37:29 +0300 |
commit | ac9da241986b747c1122ad5d097db42795eb9737 (patch) | |
tree | 2a2b20cf999edbcfdeab5c5049daadd2be49d57b | |
parent | ec14f087535282c188861815ac806024274185d5 (diff) | |
download | emacs-ac9da241986b747c1122ad5d097db42795eb9737.tar.gz |
Avoid read error messages from 'inotify'
* src/process.c (wait_reading_process_output): Add a
'tls_available' set and manipulate it instead of 'Available' when
checking TLS inputs. Assign the value to 'Available' only if we
find any TLS data waiting to be read. This avoids error messages
from 'inotify' that tries to read data it shouldn't. (Bug#21337)
-rw-r--r-- | src/process.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/process.c b/src/process.c index 1ab83780914..f4613be28ed 100644 --- a/src/process.c +++ b/src/process.c @@ -4859,6 +4859,10 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, data is available in the buffers manually. */ if (nfds == 0) { + fd_set tls_available; + int set = 0; + + FD_ZERO (&tls_available); if (! wait_proc) { /* We're not waiting on a specific process, so loop @@ -4879,7 +4883,8 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, { nfds++; eassert (p->infd == channel); - FD_SET (p->infd, &Available); + FD_SET (p->infd, &tls_available); + set++; } } } @@ -4896,9 +4901,12 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd, nfds = 1; eassert (0 <= wait_proc->infd); /* Set to Available. */ - FD_SET (wait_proc->infd, &Available); + FD_SET (wait_proc->infd, &tls_available); + set++; } } + if (set) + Available = tls_available; } #endif } |