mirror of
https://git.yoctoproject.org/poky
synced 2026-03-19 13:49:41 +01:00
bitbake: daemonize: Ensure child process exits safely
When we create the child, if an exception occurred it was transfering back into the parent context. We don't want to do that us use a try/finally to ensure we exit. We need to ensure a traceback is printed and any queued UI messages which may not have made it to the client UI at this point. (Bitbake rev: dec1d2c26f6cb3ffeb44beaab0129cd531a6d08b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -30,6 +30,7 @@ __version__ = "0.2"
|
||||
import os # Miscellaneous OS interfaces.
|
||||
import sys # System-specific parameters and functions.
|
||||
import io
|
||||
import traceback
|
||||
|
||||
# Default daemon parameters.
|
||||
# File mode creation mask of the daemon.
|
||||
@@ -192,6 +193,10 @@ def createDaemon(function, logfile):
|
||||
sys.stdout = open(logfile, 'a+')
|
||||
sys.stderr = sys.stdout
|
||||
|
||||
function()
|
||||
|
||||
os._exit(0)
|
||||
try:
|
||||
function()
|
||||
except Exception as e:
|
||||
traceback.print_exc()
|
||||
bb.event.print_ui_queue()
|
||||
finally:
|
||||
os._exit(0)
|
||||
|
||||
Reference in New Issue
Block a user