# HG changeset patch # User Jun Wu # Date 1478919967 0 # 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 -r e8fb03cfbbde -r c27614f2dec1 mercurial/worker.py --- a/mercurial/worker.py Sat Nov 12 03:07:22 2016 +0000 +++ b/mercurial/worker.py Sat Nov 12 03:06:07 2016 +0000 @@ -11,7 +11,6 @@ import os import signal import sys -import threading from .i18n import _ from . import ( @@ -138,11 +137,9 @@ 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: