From 052c96d7ee17a5187f41f61d87734c1d67f45478 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Sat, 13 Aug 2016 23:20:25 +0100 Subject: [PATCH] Allow importing master's __main__. --- econtext/__init__.py | 1 + econtext/core.py | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/econtext/__init__.py b/econtext/__init__.py index 014c0367..37031917 100644 --- a/econtext/__init__.py +++ b/econtext/__init__.py @@ -1 +1,2 @@ +slave = False from econtext.core import * # NOQA diff --git a/econtext/core.py b/econtext/core.py index f9e0c185..3f54834b 100644 --- a/econtext/core.py +++ b/econtext/core.py @@ -681,7 +681,9 @@ class ExternalContext(object): econtext = imp.new_module('econtext') econtext.__package__ = 'econtext' econtext.__path__ = [] + econtext.slave = True econtext.core = sys.modules['__main__'] + del sys.modules['__main__'] sys.modules['econtext'] = econtext sys.modules['econtext.core'] = econtext.core @@ -692,13 +694,13 @@ class ExternalContext(object): klass.__module__ = 'econtext.core' def _setup_master(self, key): - os.wait() # Reap first stage. - self.broker = Broker() self.context = Context(self.broker, 'master', key=key) self.channel = Channel(self.context, CALL_FUNCTION) self.context.stream = Stream(self.context) self.context.stream.accept(100, 1) + + os.wait() # Reap first stage. os.close(100) def _setup_logging(self, log_level):