mercurial/worker.py
branchstable
changeset 31063 18fb3cf572b4
parent 30639 d524c88511a7
child 31118 a91c62752d08
--- a/mercurial/worker.py	Mon Feb 13 11:43:12 2017 -0800
+++ b/mercurial/worker.py	Sat Feb 25 01:07:52 2017 +0900
@@ -120,9 +120,12 @@
                         break
                     else:
                         raise
-            if p:
-                pids.discard(p)
-                st = _exitstatus(st)
+            if not p:
+                # skip subsequent steps, because child process should
+                # be still running in this case
+                continue
+            pids.discard(p)
+            st = _exitstatus(st)
             if st and not problem[0]:
                 problem[0] = st
     def sigchldhandler(signum, frame):