closerange() in child works on OS X also

This commit is contained in:
Kovid Goyal 2017-01-12 01:07:26 +05:30
parent 3b2e28fd83
commit 4b28cc755e

View File

@ -9,7 +9,7 @@ import fcntl
import signal
from threading import Thread
from .constants import terminfo_dir, isosx
from .constants import terminfo_dir
def remove_cloexec(fd):
@ -52,8 +52,7 @@ class Child:
else:
os.dup2(slave, i)
os.close(slave), os.close(master)
if not isosx: # Apparently some OS X systemlibraries open file descriptors that cause EXC_GUARD crashes when closed
os.closerange(3, 200)
os.closerange(3, 200)
# Establish the controlling terminal (see man 7 credentials)
os.close(os.open(os.ttyname(1), os.O_RDWR))
os.environ['TERM'] = self.opts.term