bitbake/runqueue.py: Move SIGCHLD handler to wrap none server sleep call

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2011-02-18 11:43:32 +00:00
parent 1575113896
commit 359a4d8bf7
2 changed files with 7 additions and 7 deletions

View File

@@ -748,9 +748,6 @@ class RunQueueData:
self.rqdata.runq_depends[task],
self.rqdata.runq_revdeps[task])
# Dummy signal handler to ensure we break out of sleep upon SIGCHLD
def chldhandler(signum, stackframe):
pass
class RunQueue:
def __init__(self, cooker, cfgData, dataCache, taskData, targets):
@@ -764,8 +761,6 @@ class RunQueue:
self.state = runQueuePrepare
signal.signal(signal.SIGCHLD, chldhandler)
def check_stamps(self):
unchecked = {}
current = []
@@ -1107,8 +1102,6 @@ class RunQueueExecute:
# themselves
bblogger.handlers = [bb.event.LogHandler()]
signal.signal(signal.SIGCHLD, signal.SIG_DFL)
self.rq.state = runQueueChildProcess
# Make the child the process group leader
os.setpgid(0, 0)

View File

@@ -36,6 +36,7 @@ import bb
from bb.ui import uievent
import xmlrpclib
import pickle
import signal
DEBUG = False
@@ -105,6 +106,10 @@ class BBUIEventQueue:
def system_quit( self ):
bb.event.unregister_UIHhandler(self.EventHandle)
# Dummy signal handler to ensure we break out of sleep upon SIGCHLD
def chldhandler(signum, stackframe):
pass
class BitBakeServer():
# remove this when you're done with debugging
# allow_reuse_address = True
@@ -144,7 +149,9 @@ class BitBakeServer():
pass
if nextsleep is not None:
#print "Sleeping for %s (%s)" % (nextsleep, delay)
signal.signal(signal.SIGCHLD, chldhandler)
time.sleep(nextsleep)
signal.signal(signal.SIGCHLD, signal.SIG_DFL)
def server_exit(self):
# Tell idle functions we're exiting