X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Frun-program.lisp;h=0119d6ca79db464e0dbf01bd850a20674f5bf482;hb=175c81b8044d7210e08ac66690c9392ec8d19b21;hp=a04d1da2492f0b6aacf5430e6d1bcff64b3eb949;hpb=64a7331285b0eab2c216f52670763c7d192cfdaa;p=sbcl.git diff --git a/src/code/run-program.lisp b/src/code/run-program.lisp index a04d1da..0119d6c 100644 --- a/src/code/run-program.lisp +++ b/src/code/run-program.lisp @@ -124,10 +124,10 @@ (values pid (if (position signal #.(vector - (sb-unix:unix-signal-number :sigstop) - (sb-unix:unix-signal-number :sigtstp) - (sb-unix:unix-signal-number :sigttin) - (sb-unix:unix-signal-number :sigttou))) + sb-unix:sigstop + sb-unix:sigtstp + sb-unix:sigttin + sb-unix:sigttou)) :stopped :signaled) signal @@ -212,7 +212,7 @@ (sb-unix:unix-ioctl (sb-sys:fd-stream-fd (process-pty proc)) sb-unix:TIOCSIGSEND (sb-sys:int-sap - (sb-unix:unix-signal-number signal)))) + signal))) ((:process-group #-hpux :pty-process-group) (sb-unix:unix-killpg pid signal)) (t @@ -220,8 +220,7 @@ (cond ((not okay) (values nil errno)) ((and (eql pid (process-pid proc)) - (= (sb-unix:unix-signal-number signal) - (sb-unix:unix-signal-number :sigcont))) + (= signal sb-unix:sigcont)) (setf (process-%status proc) :running) (setf (process-exit-code proc) nil) (when (process-status-hook proc) @@ -395,11 +394,11 @@ while start ;; the truename of a file naming a directory is the ;; directory, at least until pfdietz comes along and says why - ;; that's noncompliant - for fullpath = (merge-pathnames - pathname (truename - (subseq search-path start end))) - when (unix-filename-is-executable-p (namestring fullpath)) + ;; that's noncompliant -- CSR, c. 2003-08-10 + for truename = (probe-file (subseq search-path start end)) + for fullpath = (when truename (merge-pathnames pathname truename)) + when (and fullpath + (unix-filename-is-executable-p (namestring fullpath))) return fullpath)) ;;; FIXME: There shouldn't be two semiredundant versions of the @@ -537,7 +536,7 @@ (when (and env-p environment-p) (error "can't specify :ENV and :ENVIRONMENT simultaneously")) ;; Make sure that the interrupt handler is installed. - (sb-sys:enable-interrupt :sigchld #'sigchld-handler) + (sb-sys:enable-interrupt sb-unix:sigchld #'sigchld-handler) ;; Prepend the program to the argument list. (push (namestring program) args) (let (;; Clear various specials used by GET-DESCRIPTOR-FOR to