summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/w32proc.c6
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);