Also close file descriptors from os.popen and subprocess.Popen

This commit is contained in:
Éric Araujo 2010-11-06 02:10:32 +00:00
parent 25b5741383
commit 5ac6d80c02
2 changed files with 25 additions and 19 deletions

View file

@ -263,10 +263,12 @@ def query_vcvarsall(version, arch="x86"):
popen = subprocess.Popen('"%s" %s & set' % (vcvarsall, arch),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout, stderr = popen.communicate()
if popen.wait() != 0:
raise DistutilsPlatformError(stderr.decode("mbcs"))
try:
stdout, stderr = popen.communicate()
if popen.wait() != 0:
raise DistutilsPlatformError(stderr.decode("mbcs"))
finally:
popen.close()
stdout = stdout.decode("mbcs")
for line in stdout.split("\n"):