From ee5603275850fff57fc9d88bc05f2d94d9e1ac7f Mon Sep 17 00:00:00 2001 From: David Wilson Date: Thu, 18 Aug 2016 16:51:51 +0100 Subject: [PATCH] Last ditch attempt to log main() thread crashes. --- econtext/core.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/econtext/core.py b/econtext/core.py index 604ebe10..d601a93d 100644 --- a/econtext/core.py +++ b/econtext/core.py @@ -832,14 +832,18 @@ class ExternalContext(object): def main(self, key, log_level): self._setup_master(key) try: - self._setup_logging(log_level) - self._setup_importer() - self._setup_package() - self._setup_stdio() - - self.broker.register(self.context) - self._dispatch_calls() - LOG.debug('ExternalContext.main() exitting') + try: + self._setup_logging(log_level) + self._setup_importer() + self._setup_package() + self._setup_stdio() + + self.broker.register(self.context) + self._dispatch_calls() + LOG.debug('ExternalContext.main() normal exit') + except Exception: + LOG.exception('ExternalContext.main() crashed') + raise finally: self.broker.shutdown() self.broker.join()