It's probably just a bug in python 2.4.2, which is the version on my old
MacOS machine. But it seems that if you use subprocess.Popen with stdout=1
and/or stderr=2, it ends up closing the file descriptors instead of passing
them along. Since those are the defaults anyway, just use None instead.
n = subprocess.Popen([subpath('newliner')],
stdin=subprocess.PIPE, stdout=os.dup(realf),
close_fds=True, preexec_fn=force_tty)
- outf = fix_stdout and n.stdin.fileno() or 1
- errf = fix_stderr and n.stdin.fileno() or 2
+ outf = fix_stdout and n.stdin.fileno() or None
+ errf = fix_stderr and n.stdin.fileno() or None
else:
n = None
- outf = 1
- errf = 2
+ outf = None
+ errf = None
class SigException(Exception):