diff options
-rw-r--r-- | bitbake/lib/bb/server/process.py | 35 |
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 | ||
487 | def connectProcessServer(sockname, featureset): | 496 | def connectProcessServer(sockname, featureset): |
488 | # Connect to socket | 497 | # Connect to socket |