summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Pluim <rpluim@gmail.com>2015-09-05 11:37:29 +0300
committerEli Zaretskii <eliz@gnu.org>2015-09-05 11:37:29 +0300
commitac9da241986b747c1122ad5d097db42795eb9737 (patch)
tree2a2b20cf999edbcfdeab5c5049daadd2be49d57b
parentec14f087535282c188861815ac806024274185d5 (diff)
downloademacs-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.c12
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
}