diff --git a/code/fd-stream.lisp b/code/fd-stream.lisp index 3d9d896b03a45780ad1e639bdddab2eebda86ed3..96f48c81d3edb943228f19eb885e123459586725 100644 --- a/code/fd-stream.lisp +++ b/code/fd-stream.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream.lisp,v 1.41 1997/12/27 12:33:07 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream.lisp,v 1.42 1998/01/04 22:46:41 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -484,23 +484,27 @@ (case count (1) (0 - (unless (system:wait-until-fd-usable - fd :input (fd-stream-timeout stream)) + (unless #-mp (system:wait-until-fd-usable + fd :input (fd-stream-timeout stream)) + #+mp (mp:process-wait-until-fd-usable + fd :input (fd-stream-timeout stream)) (error 'io-timeout :stream stream :direction :read))) (t (error "Problem checking to see if ~S is readable: ~A" stream (unix:get-unix-error-msg errno))))) (multiple-value-bind - (count errno) + (count errno) (unix:unix-read fd (system:int-sap (+ (system:sap-int ibuf-sap) tail)) (- buflen tail)) (cond ((null count) (if (eql errno unix:ewouldblock) (progn - (unless (system:wait-until-fd-usable - fd :input (fd-stream-timeout stream)) + (unless #-mp (system:wait-until-fd-usable + fd :input (fd-stream-timeout stream)) + #+mp (mp:process-wait-until-fd-usable + fd :input (fd-stream-timeout stream)) (error 'io-timeout :stream stream :direction :read)) (do-input stream)) (error "Error reading ~S: ~A"