Oops. spawnl() and spawnle() should be implemented on Windows too.

Also added a comment that the 'p' variants (spawnvp() etc.) are *not*
supported on Windows.  (They could be by adding them to posixmodule.c)
This commit is contained in:
Guido van Rossum 1999-11-02 20:44:07 +00:00
parent 8b4b46e4f3
commit dd7cbbf4d3
1 changed files with 14 additions and 7 deletions

View File

@ -330,7 +330,17 @@ if _exists("fork") and not _exists("spawnv") and _exists("execv"):
def spawnve(mode, file, args, env): def spawnve(mode, file, args, env):
return _spawnvef(mode, file, args, env, execve) return _spawnvef(mode, file, args, env, execve)
# Supply the various other variants # Note: spawnvp[e] is't currently supported on Windows
def spawnvp(mode, file, args):
return _spawnvef(mode, file, args, None, execvp)
def spawnvpe(mode, file, args, env):
return _spawnvef(mode, file, args, env, execvpe)
if _exists("spawnv"):
# These aren't supplied by the basic Windows code
# but can be easily implemented in Python
def spawnl(mode, file, *args): def spawnl(mode, file, *args):
return spawnv(mode, file, args) return spawnv(mode, file, args)
@ -339,15 +349,12 @@ if _exists("fork") and not _exists("spawnv") and _exists("execv"):
env = args[-1] env = args[-1]
return spawnve(mode, file, args[:-1], env) return spawnve(mode, file, args[:-1], env)
if _exists("spawnvp"):
# At the moment, Windows doesn't implement spawnvp[e],
# so it won't have spawnlp[e] either.
def spawnlp(mode, file, *args): def spawnlp(mode, file, *args):
return spawnvp(mode, file, args) return spawnvp(mode, file, args)
def spawnlpe(mode, file, *args): def spawnlpe(mode, file, *args):
env = args[-1] env = args[-1]
return spawnvpe(mode, file, args[:-1], env) return spawnvpe(mode, file, args[:-1], env)
def spawnvp(mode, file, args):
return _spawnvef(mode, file, args, None, execvp)
def spawnvpe(mode, file, args, env):
return _spawnvef(mode, file, args, env, execvpe)