X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Frun-program.lisp;h=b854e3109faf78fa1f20c52f79ff4d2f2877bb26;hb=f7faed97898dd0e94a18b0d1fca03aaa0fe24ab0;hp=b4394a11c1642890b2ef22af4d7596b29c678b88;hpb=6cfdd9e66519b513e0935c410fbb30fc880efb61;p=sbcl.git diff --git a/src/code/run-program.lisp b/src/code/run-program.lisp index b4394a1..b854e31 100644 --- a/src/code/run-program.lisp +++ b/src/code/run-program.lisp @@ -773,7 +773,7 @@ Users Manual for details about the PROCESS structure."#-win32" (if search 1 0) environment-vec pty-name (if wait 1 0)))) - (when (plusp child) + (unless (minusp child) (setf proc (apply #'make-process @@ -791,9 +791,13 @@ Users Manual for details about the PROCESS structure."#-win32" (list :%status :running)))) (push proc *active-processes*))))) ;; Report the error outside the lock. + #+win32 + (when (minusp child) + (error "Couldn't execute ~S: ~A" progname (strerror))) + #-win32 (case child - (0 - (error "Couldn't execute ~A: ~A" progname (strerror))) + (-2 + (error "Couldn't execute ~S: ~A" progname (strerror))) (-1 (error "Couldn't fork child process: ~A" (strerror)))))))))) (dolist (fd *close-in-parent*)