[oe-commits] [bitbake] 03/07: bitbake: knotty: Add logging cleanup

git at git.openembedded.org git at git.openembedded.org
Thu Mar 12 13:40:03 UTC 2020


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

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

commit 47ba09b47c7b1d4afc8394dd390fad23986bfad9
Author: Joshua Watt <jpewhacker at gmail.com>
AuthorDate: Wed Mar 11 18:28:44 2020 -0500

    bitbake: knotty: Add logging cleanup
    
    Adds code to close all loggers when bitbake exits. This prevents
    unclosed file ResourceWarnings. A form of this closing existed
    previously, but was removed in the new logging code.
    
    Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/msg.py       | 11 +++++++++++
 lib/bb/ui/knotty.py |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/lib/bb/msg.py b/lib/bb/msg.py
index 6259af0..0564573 100644
--- a/lib/bb/msg.py
+++ b/lib/bb/msg.py
@@ -320,3 +320,14 @@ def setLoggingConfig(defaultconfig, userconfigfile=None):
         # TODO: I don't think that setting the global log level should be necessary
         #if newlevel < bb.msg.loggerDefaultLogLevel:
         #    bb.msg.loggerDefaultLogLevel = newlevel
+
+def cleanupLogging():
+    # Iterate through all the handlers and close them if possible. Fixes
+    # 'Unclosed resource' warnings when bitbake exits, see
+    # https://bugs.python.org/issue23010
+    handlers = set()
+    for logger_iter in logging.Logger.manager.loggerDict.keys():
+        handlers.update(logging.getLogger(logger_iter).handlers)
+
+    for h in handlers:
+        h.close()
diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py
index 386f278..695108a 100644
--- a/lib/bb/ui/knotty.py
+++ b/lib/bb/ui/knotty.py
@@ -823,4 +823,6 @@ def main(server, eventHandler, params, tf = TerminalFilter):
         if e.errno == errno.EPIPE:
             pass
 
+    bb.msg.cleanupLogging()
+
     return return_value

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


More information about the Openembedded-commits mailing list