From 131e6dc4bbd197774d35d2b266bfb0816f6e6b1e Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Wed, 5 Aug 2015 15:47:12 +0100 Subject: bitbake-diffsigs/bitbake-layers: Ensure tinfoil is shut down correctly We should always shut down tinfoil when we're finished with it, either by explicitly calling the shutdown() method or by using it as a context manager ("with ..."). Signed-off-by: Paul Eggleton --- bin/bitbake-diffsigs | 6 +++--- bin/bitbake-layers | 53 +++++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 28 deletions(-) diff --git a/bin/bitbake-diffsigs b/bin/bitbake-diffsigs index 3b6ef8811..527d2c7a9 100755 --- a/bin/bitbake-diffsigs +++ b/bin/bitbake-diffsigs @@ -115,9 +115,9 @@ parser.add_option("-t", "--task", options, args = parser.parse_args(sys.argv) if options.taskargs: - tinfoil = bb.tinfoil.Tinfoil() - tinfoil.prepare(config_only = True) - find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1]) + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare(config_only=True) + find_compare_task(tinfoil, options.taskargs[0], options.taskargs[1]) else: if len(args) == 1: parser.print_help() diff --git a/bin/bitbake-layers b/bin/bitbake-layers index 0c973dfd2..946def220 100755 --- a/bin/bitbake-layers +++ b/bin/bitbake-layers @@ -87,31 +87,34 @@ def main(): plugins = [] tinfoil = tinfoil_init(False) - for path in ([topdir] + - tinfoil.config_data.getVar('BBPATH', True).split(':')): - pluginpath = os.path.join(path, 'lib', 'bblayers') - bb.utils.load_plugins(logger, plugins, pluginpath) - - registered = False - for plugin in plugins: - if hasattr(plugin, 'register_commands'): - registered = True - plugin.register_commands(subparsers) - if hasattr(plugin, 'tinfoil_init'): - plugin.tinfoil_init(tinfoil) - - if not registered: - logger.error("No commands registered - missing plugins?") - sys.exit(1) - - args = parser.parse_args(unparsed_args, namespace=global_args) - - if getattr(args, 'parserecipes', False): - tinfoil.config_data.disableTracking() - tinfoil.parseRecipes() - tinfoil.config_data.enableTracking() - - return args.func(args) + try: + for path in ([topdir] + + tinfoil.config_data.getVar('BBPATH', True).split(':')): + pluginpath = os.path.join(path, 'lib', 'bblayers') + bb.utils.load_plugins(logger, plugins, pluginpath) + + registered = False + for plugin in plugins: + if hasattr(plugin, 'register_commands'): + registered = True + plugin.register_commands(subparsers) + if hasattr(plugin, 'tinfoil_init'): + plugin.tinfoil_init(tinfoil) + + if not registered: + logger.error("No commands registered - missing plugins?") + sys.exit(1) + + args = parser.parse_args(unparsed_args, namespace=global_args) + + if getattr(args, 'parserecipes', False): + tinfoil.config_data.disableTracking() + tinfoil.parseRecipes() + tinfoil.config_data.enableTracking() + + return args.func(args) + finally: + tinfoil.shutdown() if __name__ == "__main__": -- cgit 1.2.3-korg