summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/server/process.py35
1 files changed, 22 insertions, 13 deletions
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py
index 7ee427b51c..65e1eab527 100644
--- a/bitbake/lib/bb/server/process.py
+++ b/bitbake/lib/bb/server/process.py
@@ -247,6 +247,10 @@ class ProcessServer():
247 247
248 self.cooker.post_serve() 248 self.cooker.post_serve()
249 249
250 # Flush logs before we release the lock
251 sys.stdout.flush()
252 sys.stderr.flush()
253
250 # Finally release the lockfile but warn about other processes holding it open 254 # Finally release the lockfile but warn about other processes holding it open
251 lock = self.bitbake_lock 255 lock = self.bitbake_lock
252 lockfile = lock.name 256 lockfile = lock.name
@@ -469,20 +473,25 @@ class BitBakeServer(object):
469 print(self.start_log_format % (os.getpid(), datetime.datetime.now().strftime(self.start_log_datetime_format))) 473 print(self.start_log_format % (os.getpid(), datetime.datetime.now().strftime(self.start_log_datetime_format)))
470 sys.stdout.flush() 474 sys.stdout.flush()
471 475
472 server = ProcessServer(self.bitbake_lock, self.sock, self.sockname, self.configuration.server_timeout, self.configuration.xmlrpcinterface)
473 os.close(self.readypipe)
474 writer = ConnectionWriter(self.readypipein)
475 try: 476 try:
476 self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset, server.register_idle_function) 477 server = ProcessServer(self.bitbake_lock, self.sock, self.sockname, self.configuration.server_timeout, self.configuration.xmlrpcinterface)
477 except bb.BBHandledException: 478 os.close(self.readypipe)
478 return None 479 writer = ConnectionWriter(self.readypipein)
479 writer.send("r") 480 try:
480 writer.close() 481 self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset, server.register_idle_function)
481 server.cooker = self.cooker 482 except bb.BBHandledException:
482 print("Started bitbake server pid %d" % os.getpid()) 483 return None
483 sys.stdout.flush() 484 writer.send("r")
484 485 writer.close()
485 server.run() 486 server.cooker = self.cooker
487 print("Started bitbake server pid %d" % os.getpid())
488 sys.stdout.flush()
489
490 server.run()
491 finally:
492 # Flush any ,essages/errors to the logfile before exit
493 sys.stdout.flush()
494 sys.stderr.flush()
486 495
487def connectProcessServer(sockname, featureset): 496def connectProcessServer(sockname, featureset):
488 # Connect to socket 497 # Connect to socket