[usocket-cvs] r317 - usocket/trunk/backend
ehuelsmann at common-lisp.net
ehuelsmann at common-lisp.net
Sun Feb 17 21:40:31 UTC 2008
Author: ehuelsmann
Date: Sun Feb 17 16:40:31 2008
New Revision: 317
Modified:
usocket/trunk/backend/sbcl.lisp
Log:
Fix nameservice condition/error names; also revert some of r307: fast-unix-select *does* return errno,
but change the code a bit to prevent the compiler from issueing warnings.
Modified: usocket/trunk/backend/sbcl.lisp
==============================================================================
--- usocket/trunk/backend/sbcl.lisp (original)
+++ usocket/trunk/backend/sbcl.lisp Sun Feb 17 16:40:31 2008
@@ -162,8 +162,8 @@
;; Nameservice errors: mapped to unknown-error
(sb-bsd-sockets:no-recovery-error . ns-no-recovery-error)
- (sb-bsd-sockets:try-again-condition . ns-try-again-condition)
- (sb-bsd-sockets:host-not-found . ns-host-not-found-error)))
+ (sb-bsd-sockets:try-again-error . ns-try-again-condition)
+ (sb-bsd-sockets:host-not-found-error . ns-host-not-found-error)))
(defun handle-condition (condition &optional (socket nil))
"Dispatch correct usocket condition."
@@ -279,25 +279,24 @@
(multiple-value-bind
(secs musecs)
(split-timeout (or timeout 1))
- (let ((count
- (sb-unix:unix-fast-select
- (1+ (reduce #'max (mapcar #'socket sockets)
- :key #'sb-bsd-sockets:socket-file-descriptor))
- (sb-alien:addr rfds) nil nil
- (when timeout secs) musecs)))
- (unless (= 0 count) ;; 0 means timeout
- (if (=> count 0)
+ (multiple-value-bind
+ (count err)
+ (sb-unix:unix-fast-select
+ (1+ (reduce #'max (mapcar #'socket sockets)
+ :key #'sb-bsd-sockets:socket-file-descriptor))
+ (sb-alien:addr rfds) nil nil
+ (when timeout secs) musecs)
+ (if (null count)
+ (unless (= err sb-unix:EINTR)
+ (error (map-errno-error err)))
+ (when (< 0 count)
;; process the result...
(remove-if
#'(lambda (x)
- (not
- (sb-unix:fd-isset
- (sb-bsd-sockets:socket-file-descriptor (socket x))
- rfds)))
- sockets)
- (let ((err (sb-alien:get-errno)))
- (unless (= err sb-unix:EINTR)
- (error (map-errno-error err)))))))))))
+ (not (sb-unix:fd-isset
+ (sb-bsd-sockets:socket-file-descriptor (socket x))
+ rfds)))
+ sockets))))))))
#+win32
(warn "wait-for-input not (yet!) supported...")
More information about the usocket-cvs
mailing list