parent: Read preamble in first stage with os.fdopen()

SSH command size: 439 (+4 bytes)
Preamble size: 8941 (no change)

This _increases_ the size of the first stage, but
- Eliminates one of the two remaining uses of `sys`
- Reads the preamble as a byte-string, no call `.encode()`
   is needed on Python 3 before calling `_()`
wip-fakessh-exit-status
Alex Willmer 6 years ago committed by David Wilson
parent a62edd0b7e
commit f95b37429f

@ -339,7 +339,7 @@ class Stream(mitogen.core.Stream):
os.environ['ARGV0']=sys.executable
os.execl(sys.executable,'mitogen:CONTEXT_NAME')
os.write(1,'EC0\n')
C=_(sys.stdin.read(PREAMBLE_COMPRESSED_LEN),'zip')
C=_(os.fdopen(0,'rb').read(PREAMBLE_COMPRESSED_LEN),'zip')
os.fdopen(W,'w',0).write(C)
os.fdopen(w,'w',0).write('PREAMBLE_LEN\n'+C)
os.write(1,'EC1\n')

Loading…
Cancel
Save