[bitbake-devel] [PATCH] event: prevent unclosed file warning in print_ui_queue

Joshua Lock joshua.g.lock at intel.com
Tue Oct 4 10:03:55 UTC 2016


Use logger.addHandler(), rather than assigning an array of Handlers
to the loggers handlers property directly, to avoid a warning from
Python 3 about unclosed files:

$ bitbake
Nothing to do.  Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
WARNING: /home/joshuagl/Projects/poky/bitbake/lib/bb/event.py:143: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/joshuagl/Projects/poky/build/tmp/log/cooker/qemux86/20161004094928.log' mode='a' encoding='UTF-8'>
  logger.handlers = [stdout]

Signed-off-by: Joshua Lock <joshua.g.lock at intel.com>
---
 lib/bb/event.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/bb/event.py b/lib/bb/event.py
index 42745e2..e35b932 100644
--- a/lib/bb/event.py
+++ b/lib/bb/event.py
@@ -131,16 +131,16 @@ def print_ui_queue():
             if isinstance(event, logging.LogRecord):
                 if event.levelno > logging.DEBUG:
                     if event.levelno >= logging.WARNING:
-                        logger.handlers = [stderr]
+                        logger.addHandler(stderr)
                     else:
-                        logger.handlers = [stdout]
+                        logger.addHandler(stdout)
                     logger.handle(event)
                     msgprint = True
         if msgprint:
             return
 
         # Nope, so just print all of the messages we have (including debug messages)
-        logger.handlers = [stdout]
+        logger.addHandler(stdout)
         for event in ui_queue:
             if isinstance(event, logging.LogRecord):
                 logger.handle(event)
-- 
2.7.4




More information about the bitbake-devel mailing list