mirror of
https://github.com/python/cpython.git
synced 2025-09-10 18:58:35 +00:00
Also close file descriptors from os.popen and subprocess.Popen
This commit is contained in:
parent
25b5741383
commit
5ac6d80c02
2 changed files with 25 additions and 19 deletions
|
@ -343,6 +343,7 @@ class bdist_rpm(Command):
|
|||
src_rpm, non_src_rpm, spec_path)
|
||||
|
||||
out = os.popen(q_cmd)
|
||||
try:
|
||||
binary_rpms = []
|
||||
source_rpm = None
|
||||
while True:
|
||||
|
@ -360,6 +361,9 @@ class bdist_rpm(Command):
|
|||
if status:
|
||||
raise DistutilsExecError("Failed to execute: %s" % repr(q_cmd))
|
||||
|
||||
finally:
|
||||
out.close()
|
||||
|
||||
self.spawn(rpm_cmd)
|
||||
|
||||
if not self.dry_run:
|
||||
|
|
|
@ -263,10 +263,12 @@ def query_vcvarsall(version, arch="x86"):
|
|||
popen = subprocess.Popen('"%s" %s & set' % (vcvarsall, arch),
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
|
||||
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"):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue