X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ffd-stream.lisp;h=c6d42821f09a355b124414d266f5afab30b64bb3;hb=0301f631b44b8b5b46e887982f98d5baa7b0e97a;hp=d98bf4a76f4a9bfe470acb8cc5c08d6d6482e025;hpb=ff257d8d6acc59dee58eca6a284aced4506f727b;p=sbcl.git diff --git a/src/code/fd-stream.lisp b/src/code/fd-stream.lisp index d98bf4a..c6d4282 100644 --- a/src/code/fd-stream.lisp +++ b/src/code/fd-stream.lisp @@ -941,20 +941,7 @@ ;; This answers T at EOF on win32, I think. (not (sb!win32:fd-listen (fd-stream-fd stream))) #!-win32 - (sb!unix:with-restarted-syscall (count errno) - (sb!alien:with-alien ((read-fds (sb!alien:struct sb!unix:fd-set))) - (sb!unix:fd-zero read-fds) - (sb!unix:fd-set (fd-stream-fd stream) read-fds) - (sb!unix:unix-fast-select (1+ (fd-stream-fd stream)) - (sb!alien:addr read-fds) - nil nil 0 0)) - (case count - ((1) nil) - ((0) t) - (otherwise - (simple-stream-perror "couldn't check whether ~S is readable" - stream - errno))))) + (not (sb!unix:unix-simple-poll (fd-stream-fd stream) :input 0))) ;;; If the read would block wait (using SERVE-EVENT) till input is available, ;;; then fill the input buffer, and return the number of bytes read. Throws