Commit 340dcabf authored by Jim Fulton's avatar Jim Fulton

Stop using os.spawn (and _safe_arg where it isn't needed).

parent f0fdf356
...@@ -31,6 +31,7 @@ import os ...@@ -31,6 +31,7 @@ import os
import pkg_resources import pkg_resources
import re import re
import shutil import shutil
import subprocess
import sys import sys
import tempfile import tempfile
import UserDict import UserDict
...@@ -46,11 +47,6 @@ pkg_resources_loc = pkg_resources.working_set.find( ...@@ -46,11 +47,6 @@ pkg_resources_loc = pkg_resources.working_set.find(
_isurl = re.compile('([a-zA-Z0-9+.-]+)://').match _isurl = re.compile('([a-zA-Z0-9+.-]+)://').match
is_jython = sys.platform.startswith('java')
if is_jython:
import subprocess
class MissingOption(zc.buildout.UserError, KeyError): class MissingOption(zc.buildout.UserError, KeyError):
"""A required option was missing. """A required option was missing.
""" """
...@@ -878,15 +874,11 @@ class Buildout(UserDict.DictMixin): ...@@ -878,15 +874,11 @@ class Buildout(UserDict.DictMixin):
) )
# Restart # Restart
args = map(zc.buildout.easy_install._safe_arg, sys.argv) args = sys.argv[:]
if not __debug__: if not __debug__:
args.insert(0, '-O') args.insert(0, '-O')
args.insert(0, zc.buildout.easy_install._safe_arg (sys.executable)) args.insert(0, sys.executable)
sys.exit(subprocess.call(args))
if is_jython:
sys.exit(subprocess.Popen([sys.executable] + list(args)).wait())
else:
sys.exit(os.spawnv(os.P_WAIT, sys.executable, args))
def _load_extensions(self): def _load_extensions(self):
__doing__ = 'Loading extensions.' __doing__ = 'Loading extensions.'
...@@ -945,22 +937,8 @@ class Buildout(UserDict.DictMixin): ...@@ -945,22 +937,8 @@ class Buildout(UserDict.DictMixin):
setup=setup, setup=setup,
__file__ = setup, __file__ = setup,
)) ))
if is_jython: zc.buildout.easy_install.call_subprocess(
arg_list = list() [sys.executable, tsetup] + args)
for a in args:
arg_list.append(zc.buildout.easy_install._safe_arg(a))
subprocess.Popen(
[zc.buildout.easy_install._safe_arg(sys.executable)]
+ list(tsetup)
+ arg_list
).wait()
else:
os.spawnl(os.P_WAIT, sys.executable, zc.buildout.easy_install._safe_arg (sys.executable), tsetup,
*[zc.buildout.easy_install._safe_arg(a)
for a in args])
finally: finally:
os.close(fd) os.close(fd)
os.remove(tsetup) os.remove(tsetup)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment