0.8.10.60:
[sbcl.git] / src / code / run-program.lisp
index a04d1da..0119d6c 100644 (file)
             (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
           (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
       (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)
        while start
        ;; <Krystof> 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
   (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