diff -r 21772a6a7861 -r 0e6ce6313e47 mercurial/worker.py --- a/mercurial/worker.py Thu Nov 10 16:49:42 2016 -0500 +++ b/mercurial/worker.py Thu Nov 17 21:43:01 2016 +0900 @@ -102,6 +102,7 @@ while True: try: p, st = os.waitpid(pid, (0 if blocking else os.WNOHANG)) + break except OSError as e: if e.errno == errno.EINTR: continue