sb-bsd-sockets:socket-make-stream can get an :timeout keyword. And it is works!
I think it must be used in sbcl backend in socket-connect function here is a patch
*** usocket-0.4.1.orig/backend/sbcl.lisp 2010-05-06 14:26:15.000000000 +0400
--- usocket-0.4.1/backend/sbcl.lisp 2010-06-24 19:13:37.000000000 +0400
***************
*** 208,214 ****
(sockopt-tcp-nodelay-p
(fboundp 'sb-bsd-sockets::sockopt-tcp-nodelay)))
(when deadline (unsupported 'deadline 'socket-connect))
- (when timeout (unsupported 'timeout 'socket-connect))
(when (and nodelay-specified
;; 20080802: ECL added this function to its sockets
;; package today. There's no guarantee the functions
--- 208,213 ----
***************
*** 224,229 ****
--- 223,229 ----
(sb-bsd-sockets:socket-make-stream socket
:input t
:output t
+ :timeout timeout
:buffering :full
:element-type element-type))
;;###FIXME: The above line probably needs an :external-format
Pavel G. Koukoushkin