summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÉric Araujo <merwok@netwok.org>2010-11-12 20:27:45 (GMT)
committerÉric Araujo <merwok@netwok.org>2010-11-12 20:27:45 (GMT)
commite84e72f95a09a6de3177a7ce85f5eb1ed66d29d1 (patch)
tree48b6e068b2f343ae8ff72d95e7563bf471e1cf95
parentb89e4fc4e9d9afc1caf1b1de6bdf5beef33996a4 (diff)
downloadcpython-e84e72f95a09a6de3177a7ce85f5eb1ed66d29d1.zip
cpython-e84e72f95a09a6de3177a7ce85f5eb1ed66d29d1.tar.gz
cpython-e84e72f95a09a6de3177a7ce85f5eb1ed66d29d1.tar.bz2
Merged revisions 86274,86276 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r86274 | eric.araujo | 2010-11-06 16:57:52 +0100 (sam., 06 nov. 2010) | 2 lines Correct the fix for #10252: Popen objects have no close method. ........ r86276 | eric.araujo | 2010-11-06 19:03:52 +0100 (sam., 06 nov. 2010) | 2 lines Fix #10252 again (hopefully definitely). Patch by Brian Curtin. ........
-rw-r--r--Lib/distutils/msvc9compiler.py31
1 files changed, 17 insertions, 14 deletions
diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py
index 6d7825d..488524d 100644
--- a/Lib/distutils/msvc9compiler.py
+++ b/Lib/distutils/msvc9compiler.py
@@ -267,21 +267,24 @@ def query_vcvarsall(version, arch="x86"):
stdout, stderr = popen.communicate()
if popen.wait() != 0:
raise DistutilsPlatformError(stderr.decode("mbcs"))
+
+ stdout = stdout.decode("mbcs")
+ for line in stdout.split("\n"):
+ line = Reg.convert_mbcs(line)
+ if '=' not in line:
+ continue
+ line = line.strip()
+ key, value = line.split('=', 1)
+ key = key.lower()
+ if key in interesting:
+ if value.endswith(os.pathsep):
+ value = value[:-1]
+ result[key] = removeDuplicates(value)
+
finally:
- popen.close()
-
- stdout = stdout.decode("mbcs")
- for line in stdout.split("\n"):
- line = Reg.convert_mbcs(line)
- if '=' not in line:
- continue
- line = line.strip()
- key, value = line.split('=', 1)
- key = key.lower()
- if key in interesting:
- if value.endswith(os.pathsep):
- value = value[:-1]
- result[key] = removeDuplicates(value)
+ popen.stdin.close()
+ popen.stdout.close()
+ popen.stderr.close()
if len(result) != len(interesting):
raise ValueError(str(list(result.keys())))