Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
import re
import subprocess
import socket
import re
import subprocess
import socket
sock.close()
def permute_fds_for_exec():
sock.close()
def permute_fds_for_exec():
- actual2intended = { info[0]: nominal for nominal, info in fdmap.items }
+ actual2intended = { info[0]: nominal for nominal, info in fdmap.items() }
# invariant at the start of each loop iteration:
# for each intended (aka `nominal') we have processed:
# relevant open-file is only held in fd intended
# invariant at the start of each loop iteration:
# for each intended (aka `nominal') we have processed:
# relevant open-file is only held in fd intended
def implement_exec(argl):
if donor is not None: donor.detach()
sys.stdout.flush()
def implement_exec(argl):
if donor is not None: donor.detach()
sys.stdout.flush()
os.execvp(argl[0], argl)
def set_donor(pid):
os.execvp(argl[0], argl)
def set_donor(pid):