X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Frun-program.lisp;h=372fe263de93bbec0c7d6a3fc5ff5ed42e1ebb9f;hb=0d669e68a1ffbea42af6216f2ae8c7d7ca12ffb6;hp=fc02f3ef625dd86af36836b17a57319fa948a3c6;hpb=f030ad9cd9966dcaabc1e76e8bc8ca2df7cdb250;p=sbcl.git diff --git a/src/code/run-program.lisp b/src/code/run-program.lisp index fc02f3e..372fe26 100644 --- a/src/code/run-program.lisp +++ b/src/code/run-program.lisp @@ -97,25 +97,21 @@ (options sb-alien:int) (rusage sb-alien:int)) -(defconstant wait-wnohang #-svr4 1 #+svr4 #o100) -(defconstant wait-wuntraced #-svr4 2 #+svr4 4) -(defconstant wait-wstopped #-svr4 #o177 #+svr4 wait-wuntraced) - (defun wait3 (&optional do-not-hang check-for-stopped) "Return any available status information on child process. " (multiple-value-bind (pid status) (c-wait3 (logior (if do-not-hang - wait-wnohang + sb-unix:wnohang 0) (if check-for-stopped - wait-wuntraced + sb-unix:wuntraced 0)) 0) (cond ((or (minusp pid) (zerop pid)) nil) ((eql (ldb (byte 8 0) status) - wait-wstopped) + sb-unix:wstopped) (values pid :stopped (ldb (byte 8 8) status)))