summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
86b1fb5)
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
import subprocess
import os
import pwd
import subprocess
import os
import pwd
def _shuffle_fd3():
os.dup2(1,3)
def _shuffle_fd3():
os.dup2(1,3)
(s2, dummy) = s.accept()
(msg, ancil, flags, sender) = s2.recvmsg(1, ancil_len)
(s2, dummy) = s.accept()
(msg, ancil, flags, sender) = s2.recvmsg(1, ancil_len)
+ got_fds = None
+ unpack_fmt = '%di' % len(fds)
for clvl, ctype, cdata in ancil:
if clvl == socket.SOL_SOCKET and ctype == socket.SCM_RIGHTS:
for clvl, ctype, cdata in ancil:
if clvl == socket.SOL_SOCKET and ctype == socket.SCM_RIGHTS:
- got_fds += cdata # need to trim any surplus, and unpack
+ assert(got_fds is None)
+ got_fds = struct.unpack_from(unpack_fmt, cdata)
finally:
if s is not None: s.close()
finally:
if s is not None: s.close()
try: os.remove(our_sockname)
except FileNotFoundError: pass
try: os.remove(our_sockname)
except FileNotFoundError: pass