]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid aborting in 'waitpid' on MS-Windows
authorEli Zaretskii <eliz@gnu.org>
Tue, 29 Aug 2017 15:13:44 +0000 (18:13 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 29 Aug 2017 15:13:44 +0000 (18:13 +0300)
* src/w32proc.c (waitpid): Don't allow quitting if called with
WNOHANG in OPTIONS.  (Bug#28268)

src/w32proc.c

index 76af55f99851ff7db7dece67c6ecad20fd9f6590..ffd5f0d0a1a8bbe05e20c7120ba6252786073b5c 100644 (file)
@@ -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);