diff options
author | Eli Zaretskii <eliz@gnu.org> | 2017-08-29 18:13:44 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2017-08-29 18:13:44 +0300 |
commit | bf0045d7a4cd4c7d4df3fa34b8a12795e8ee73aa (patch) | |
tree | 193a5d0f31488bd09a4439d8ea4f5bbc0a7e4783 /src/w32proc.c | |
parent | b65cb981cce96eeae3690ffddac6f3ebe314036c (diff) | |
download | emacs-bf0045d7a4cd4c7d4df3fa34b8a12795e8ee73aa.tar.gz |
Avoid aborting in 'waitpid' on MS-Windows
* src/w32proc.c (waitpid): Don't allow quitting if called with
WNOHANG in OPTIONS. (Bug#28268)
Diffstat (limited to 'src/w32proc.c')
-rw-r--r-- | src/w32proc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/w32proc.c b/src/w32proc.c index 76af55f9985..ffd5f0d0a1a 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -1449,7 +1449,11 @@ waitpid (pid_t pid, int *status, int options) do { - maybe_quit (); + /* When child_status_changed calls us with WNOHANG in OPTIONS, + we are supposed to be non-interruptible, so don't allow + quitting in that case. */ + if (!dont_wait) + maybe_quit (); active = WaitForMultipleObjects (nh, wait_hnd, FALSE, timeout_ms); } while (active == WAIT_TIMEOUT && !dont_wait); |