# HG changeset patch # User Jun Wu # Date 2016-11-12 03:06:07 # Node ID c27614f2dec1405db606d1ef871dfabf72cc0737 # Parent e8fb03cfbbde263dbcc65c11a5bd1b4a3f4c9e27 worker: stop using a separate thread waiting for children Now that we have a SIGCHLD hander, and it could get executed when waiting for I/O. It's no longer necessary to have a separated waitpid thread. So just remove it. diff --git a/mercurial/worker.py b/mercurial/worker.py --- a/mercurial/worker.py +++ b/mercurial/worker.py @@ -11,7 +11,6 @@ import errno import os import signal import sys -import threading from .i18n import _ from . import ( @@ -138,11 +137,9 @@ def _posixworker(ui, func, staticargs, a pids.add(pid) os.close(wfd) fp = os.fdopen(rfd, 'rb', 0) - t = threading.Thread(target=waitforworkers) - t.start() def cleanup(): signal.signal(signal.SIGINT, oldhandler) - t.join() + waitforworkers() signal.signal(signal.SIGCHLD, oldchldhandler) status = problem[0] if status: