Hi,
Something seems to have happened between b_3126 and b_3143 with regards to uses of the Subprocess module.
Calls to subprocess.check_output
or subprocess.Pipe encounter issues with handles still in use when shell=True is passed-- I think that these may be used by Sublime itself.
Example calls that break:
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=global_folder, shell=True)
from the Perforce module
The backtrace is:
File “./python3.3/subprocess.py”, line 784, in init
File “./python3.3/subprocess.py”, line 980, in _get_handles
File “./python3.3/subprocess.py”, line 1030, in _make_inheritable
OSError: [WinError 6] The handle is invalid
however, sometimes it is possible to work around this as follows:
try:
from subprocess import DEVNULL
except ImportError:
DEVNULL = os.open(os.devnull, os.O_RDWR)
ignore=subprocess.check_output([alt_python, full_path, host, username],stdin=DEVNULL, stderr=DEVNULL,shell=True)
This is new between b_3143 and b_3126, and I have no ideas why.
This is running on windows 7 using a 64 bit python 3.3 intepreter.
I’ve tried cheating by deleting the subprocess module and reloading it from the previous zip file, but so far, no luck.