[oe-commits] [bitbake] 01/02: daemonize: Ensure child process exits safely

git at git.openembedded.org git at git.openembedded.org
Mon Jul 31 13:24:41 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository bitbake.

commit dec1d2c26f6cb3ffeb44beaab0129cd531a6d08b
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Mon Jul 31 11:30:56 2017 +0100

    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.
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/daemonize.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py
index 8380828..a4664ad 100644
--- a/lib/bb/daemonize.py
+++ b/lib/bb/daemonize.py
@@ -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)

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list