anchor.diff:    (%SYSDEP 
      "wait for for input on streams and sockets"
   
  +   #+(and sbcl unix) 
  +   (let ((all-waitable (mapcar #'sb-sys:fd-stream-fd streams)))
  +     (dolist (socket server-sockets)
  +       (push (sockets:socket-file-descriptor socket) all-waitable))
  +     (let ((rset 0) (maxn 0))
  +       (dolist (n all-waitable)
  +         (incf rset (ash 1 n))
  +         (setq maxn (max n maxn)))
  +       (mess 2 "Selecting set ~A" rset)
  +       (multiple-value-bind (result readable wset xset)
  +           (sb-unix:unix-select (1+ maxn) rset 0 0 10)
  +         (mess 2 "Select return ~A ~A" result readable)
  +         (block findit
  +           (dolist (socket server-sockets)
  +             (when (logbitp (sockets:socket-file-descriptor socket)
  +                            readable)
  +               (return-from findit (values :server socket))))
  +           (dolist  (stream streams)
  +             (when (logbitp (sb-sys:fd-stream-fd stream)
  +                            readable)
  +               (return-from findit (values :stream stream))))
  +           nil))))
  +   
      #+allegro 
      (let ((all-waitable streams))
        (dolist (socket server-sockets)
  
positive.code: 
     #+mcl
     (ccl::open-tcp-stream host port :element-type '(unsigned-byte 8))))
  
  
  
  (defun accept-connection-on-socket (socket &optional (blocking nil))
  
negative.code:                 nil))))
         (if (not ready)
             nil
             (if (member (car ready) streams)
                 (values :stream (car ready))
                 (values :server
                         (loop for s in server-sockets
                               when (eql (car ready) (socket:socket-os-fd s)) 
                               return s))))))
     
     ;; Default
     (progn (sleep 0.01)
  