projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.8.8: restore reuse-sap value after incomplete writes in FROB-OUTPUT-LATER
[sbcl.git]
/
contrib
/
sb-bsd-sockets
/
misc.lisp
diff --git
a/contrib/sb-bsd-sockets/misc.lisp
b/contrib/sb-bsd-sockets/misc.lisp
index
21ce486
..
2c0246b
100644
(file)
--- a/
contrib/sb-bsd-sockets/misc.lisp
+++ b/
contrib/sb-bsd-sockets/misc.lisp
@@
-12,6
+12,7
@@
(defgeneric non-blocking-mode (socket)
(:documentation "Is SOCKET in non-blocking mode?"))
(defgeneric non-blocking-mode (socket)
(:documentation "Is SOCKET in non-blocking mode?"))
+#-win32
(defmethod non-blocking-mode ((socket socket))
(let ((fd (socket-file-descriptor socket)))
(sb-alien:with-alien ((arg integer))
(defmethod non-blocking-mode ((socket socket))
(let ((fd (socket-file-descriptor socket)))
(sb-alien:with-alien ((arg integer))
@@
-20,9
+21,13
@@
sockint::o-nonblock)
0))))
sockint::o-nonblock)
0))))
+#+win32
+(defmethod non-blocking-mode ((socket socket)) 0)
+
(defgeneric (setf non-blocking-mode) (non-blocking-p socket)
(:documentation "Put SOCKET in non-blocking mode - or not, according to NON-BLOCKING-P"))
(defgeneric (setf non-blocking-mode) (non-blocking-p socket)
(:documentation "Put SOCKET in non-blocking mode - or not, according to NON-BLOCKING-P"))
+#-win32
(defmethod (setf non-blocking-mode) (non-blocking-p (socket socket))
(declare (optimize (speed 3)))
(let* ((fd (socket-file-descriptor socket))
(defmethod (setf non-blocking-mode) (non-blocking-p (socket socket))
(declare (optimize (speed 3)))
(let* ((fd (socket-file-descriptor socket))
@@
-37,4
+42,9
@@
(socket-error "fcntl"))
non-blocking-p))
(socket-error "fcntl"))
non-blocking-p))
+#+win32
+(defmethod (setf non-blocking-mode) (non-blocking-p (socket socket)) 0)
+;; (sb-alien:with-alien ((mode (unsigned 32)))
+;; (if non-blocking-p (setf mode 1))
+;; (ioctlsocket socket FIONBIO mode)))