diff -r 447332970d7b -r 3185b347ae98 mercurial/worker.py --- a/mercurial/worker.py Tue Jul 16 11:18:16 2013 -0500 +++ b/mercurial/worker.py Tue Jul 16 11:53:53 2013 -0500 @@ -109,7 +109,7 @@ def waitforworkers(): for _ in pids: st = _exitstatus(os.wait()[1]) - if st and not problem: + if st and not problem[0]: problem[0] = st killworkers() t = threading.Thread(target=waitforworkers)