diff options
Diffstat (limited to 'poky/bitbake/lib')
-rwxr-xr-x | poky/bitbake/lib/bb/main.py | 2 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/runqueue.py | 11 | ||||
-rw-r--r-- | poky/bitbake/lib/bb/server/process.py | 18 |
3 files changed, 18 insertions, 13 deletions
diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py index 732a315404..7dc953da66 100755 --- a/poky/bitbake/lib/bb/main.py +++ b/poky/bitbake/lib/bb/main.py @@ -448,7 +448,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None): else: logger.info("Reconnecting to bitbake server...") if not os.path.exists(sockname): - print("Previous bitbake instance shutting down?, waiting to retry...") + logger.info("Previous bitbake instance shutting down?, waiting to retry...") i = 0 lock = None # Wait for 5s or until we can get the lock diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index f2e52cf758..480a851ef9 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -1371,6 +1371,12 @@ class RunQueue: bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data) if self.state is runQueueSceneInit: + if not self.dm_event_handler_registered: + res = bb.event.register(self.dm_event_handler_name, + lambda x: self.dm.check(self) if self.state in [runQueueSceneRun, runQueueRunning, runQueueCleanUp] else False, + ('bb.event.HeartbeatEvent',)) + self.dm_event_handler_registered = True + dump = self.cooker.configuration.dump_signatures if dump: self.rqdata.init_progress_reporter.finish() @@ -1387,11 +1393,6 @@ class RunQueue: self.rqexe = RunQueueExecuteScenequeue(self) if self.state is runQueueSceneRun: - if not self.dm_event_handler_registered: - res = bb.event.register(self.dm_event_handler_name, - lambda x: self.dm.check(self) if self.state in [runQueueSceneRun, runQueueRunning, runQueueCleanUp] else False, - ('bb.event.HeartbeatEvent',)) - self.dm_event_handler_registered = True retval = self.rqexe.execute() if self.state is runQueueRunInit: diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py index 828159ed75..0749b5bc3e 100644 --- a/poky/bitbake/lib/bb/server/process.py +++ b/poky/bitbake/lib/bb/server/process.py @@ -428,6 +428,8 @@ class BitBakeServer(object): def _startServer(self): print(self.start_log_format % (os.getpid(), datetime.datetime.now().strftime(self.start_log_datetime_format))) + sys.stdout.flush() + server = ProcessServer(self.bitbake_lock, self.sock, self.sockname) self.configuration.setServerRegIdleCallback(server.register_idle_function) writer = ConnectionWriter(self.readypipein) @@ -443,6 +445,8 @@ class BitBakeServer(object): server.server_timeout = self.configuration.server_timeout server.xmlrpcinterface = self.configuration.xmlrpcinterface print("Started bitbake server pid %d" % os.getpid()) + sys.stdout.flush() + server.start() def connectProcessServer(sockname, featureset): @@ -451,16 +455,15 @@ def connectProcessServer(sockname, featureset): # AF_UNIX has path length issues so chdir here to workaround cwd = os.getcwd() - try: - os.chdir(os.path.dirname(sockname)) - sock.connect(os.path.basename(sockname)) - finally: - os.chdir(cwd) - readfd = writefd = readfd1 = writefd1 = readfd2 = writefd2 = None eq = command_chan_recv = command_chan = None try: + try: + os.chdir(os.path.dirname(sockname)) + sock.connect(os.path.basename(sockname)) + finally: + os.chdir(cwd) # Send an fd for the remote to write events to readfd, writefd = os.pipe() @@ -489,7 +492,8 @@ def connectProcessServer(sockname, featureset): command_chan.close() for i in [writefd, readfd1, writefd2]: try: - os.close(i) + if i: + os.close(i) except OSError: pass sock.close() |