Split out GetPreamble.

pull/35/head
David Wilson 10 years ago
parent 8fdedff8e7
commit 7683ee060e

@ -181,6 +181,16 @@ class LocalStream(econtext.core.Stream):
def __repr__(self):
return '%s(%s)' % (self.__class__.__name__, self._context)
def GetPreamble(self):
source = inspect.getsource(econtext.core)
source += '\nExternalContext().main%r\n' % ((
self._context.key,
LOG.level or logging.getLogger().level or logging.INFO,
),)
compressed = zlib.compress(MinimizeSource(source))
return str(len(compressed)) + '\n' + compressed
def Connect(self):
LOG.debug('%r.Connect()', self)
pid, sock = CreateChild(*self.GetBootCommand())
@ -190,15 +200,7 @@ class LocalStream(econtext.core.Stream):
LOG.debug('%r.Connect(): child process stdin/stdout=%r',
self, self.read_side.fd)
source = inspect.getsource(econtext.core)
source += '\nExternalContext().main%r\n' % ((
self._context.key,
LOG.level or logging.getLogger().level or logging.INFO,
),)
compressed = zlib.compress(MinimizeSource(source))
preamble = str(len(compressed)) + '\n' + compressed
econtext.core.write_all(self.write_side.fd, preamble)
econtext.core.write_all(self.write_side.fd, self.GetPreamble())
assert os.read(self.read_side.fd, 3) == 'OK\n'

Loading…
Cancel
Save