[bitbake-devel] [PATCH 2/2] tinfoil: Ensure we clean up loggers
Richard Purdie
richard.purdie at linuxfoundation.org
Thu Nov 9 11:56:08 UTC 2017
This is primarily paranoid but ensure we remove any loggers we setup
either directly or indirectly so the initial state is restored after
we exit.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
lib/bb/tinfoil.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/bb/tinfoil.py b/lib/bb/tinfoil.py
index fb2ee4a..fa95f63 100644
--- a/lib/bb/tinfoil.py
+++ b/lib/bb/tinfoil.py
@@ -322,14 +322,14 @@ class Tinfoil:
self.server_connection = None
self.recipes_parsed = False
self.quiet = 0
+ self.oldhandlers = self.logger.handlers[:]
if setup_logging:
# This is the *client-side* logger, nothing to do with
# logging messages from the server
- oldhandlers = self.logger.handlers[:]
bb.msg.logger_create('BitBake', output)
self.localhandlers = []
for handler in self.logger.handlers:
- if handler not in oldhandlers:
+ if handler not in self.oldhandlers:
self.localhandlers.append(handler)
def __enter__(self):
@@ -835,6 +835,12 @@ class Tinfoil:
self.server_connection.terminate()
self.server_connection = None
+ # Restore logging handlers to how it looked when we started
+ if self.oldhandlers:
+ for handler in self.logger.handlers:
+ if handler not in self.oldhandlers:
+ self.logger.handlers.remove(handler)
+
def _reconvert_type(self, obj, origtypename):
"""
Convert an object back to the right type, in the case
--
2.7.4
More information about the bitbake-devel
mailing list