From a87cae5bb1b0168b29eef7076756ef1d7179ee72 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 8 Nov 2017 14:04:50 +0000 Subject: bitbake: tinfoil: Ensure we clean up loggers 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. (Bitbake rev: af7d63b1f76fd3f7fa92ed15ae61ca47d9e13472) Signed-off-by: Richard Purdie --- bitbake/lib/bb/tinfoil.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/tinfoil.py b/bitbake/lib/bb/tinfoil.py index fb2ee4ad9c..fa95f6329f 100644 --- a/bitbake/lib/bb/tinfoil.py +++ b/bitbake/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 -- cgit v1.2.3-54-g00ecf