X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-simple-streams%2Finternal.lisp;h=2067797ee2a92544355500927d445ed8b2fdcf4a;hb=a7699535aaba71765335f3be0a2103b2f07941af;hp=6f956e9ada92539820845081c3cedd7c59790ab0;hpb=be6abfb75a76eb69a417ff09fd6b0f41e708f8c3;p=sbcl.git diff --git a/contrib/sb-simple-streams/internal.lisp b/contrib/sb-simple-streams/internal.lisp index 6f956e9..2067797 100644 --- a/contrib/sb-simple-streams/internal.lisp +++ b/contrib/sb-simple-streams/internal.lisp @@ -354,7 +354,11 @@ ;; eagain into ;; sb-unix 11) - (= errno sb-unix:ewouldblock))) + (= errno + #-win32 + sb-unix:ewouldblock + #+win32 + sb-unix:eintr))) (sb-sys:wait-until-fd-usable fd :input nil) (go again)) (t (return (- -10 errno))))) @@ -564,9 +568,12 @@ (loop (multiple-value-bind (fd errno) (if name + #+win32 + (sb-win32:unixlike-open name mask mode) + #-win32 (sb-unix:unix-open name mask mode) (values nil sb-unix:enoent)) - (cond ((sb-int:fixnump fd) + (cond ((integerp fd) (when (eql if-exists :append) (sb-unix:unix-lseek fd 0 sb-unix:l_xtnd)) (return (values fd name original delete-original)))