mirror of
https://github.com/python/cpython.git
synced 2025-12-11 03:20:01 +00:00
Catch OSError from 'spawnv()' in '_spawn_nt()'.
Tweaked error messages in '_spawn_posix()'.
This commit is contained in:
parent
01f5215828
commit
3b49c9babd
1 changed files with 12 additions and 5 deletions
|
|
@ -63,9 +63,16 @@ def _spawn_nt ( cmd,
|
||||||
print string.join ( [executable] + cmd[1:], ' ')
|
print string.join ( [executable] + cmd[1:], ' ')
|
||||||
if not dry_run:
|
if not dry_run:
|
||||||
# spawn for NT requires a full path to the .exe
|
# spawn for NT requires a full path to the .exe
|
||||||
|
try:
|
||||||
rc = os.spawnv (os.P_WAIT, executable, cmd)
|
rc = os.spawnv (os.P_WAIT, executable, cmd)
|
||||||
|
except OSError, exc:
|
||||||
|
# this seems to happen when the command isn't found
|
||||||
|
raise DistutilsExecError, \
|
||||||
|
"command '%s' failed: %s" % (cmd[0], exc[-1])
|
||||||
if rc != 0:
|
if rc != 0:
|
||||||
raise DistutilsExecError("command failed: %d" % rc)
|
# and this reflects the command running but failing
|
||||||
|
raise DistutilsExecError, \
|
||||||
|
"command '%s' failed with exit status %d" % (cmd[0], rc)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -103,7 +110,7 @@ def _spawn_posix (cmd,
|
||||||
(pid, status) = os.waitpid (pid, 0)
|
(pid, status) = os.waitpid (pid, 0)
|
||||||
if os.WIFSIGNALED (status):
|
if os.WIFSIGNALED (status):
|
||||||
raise DistutilsExecError, \
|
raise DistutilsExecError, \
|
||||||
"command %s terminated by signal %d" % \
|
"command '%s' terminated by signal %d" % \
|
||||||
(cmd[0], os.WTERMSIG (status))
|
(cmd[0], os.WTERMSIG (status))
|
||||||
|
|
||||||
elif os.WIFEXITED (status):
|
elif os.WIFEXITED (status):
|
||||||
|
|
@ -112,7 +119,7 @@ def _spawn_posix (cmd,
|
||||||
return # hey, it succeeded!
|
return # hey, it succeeded!
|
||||||
else:
|
else:
|
||||||
raise DistutilsExecError, \
|
raise DistutilsExecError, \
|
||||||
"command %s failed with exit status %d" % \
|
"command '%s' failed with exit status %d" % \
|
||||||
(cmd[0], exit_status)
|
(cmd[0], exit_status)
|
||||||
|
|
||||||
elif os.WIFSTOPPED (status):
|
elif os.WIFSTOPPED (status):
|
||||||
|
|
@ -120,6 +127,6 @@ def _spawn_posix (cmd,
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise DistutilsExecError, \
|
raise DistutilsExecError, \
|
||||||
"unknown error executing %s: termination status %d" % \
|
"unknown error executing '%s': termination status %d" % \
|
||||||
(cmd[0], status)
|
(cmd[0], status)
|
||||||
# _spawn_posix ()
|
# _spawn_posix ()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue