anchor.diff:  (progn
     #-:wsock
     (ffi:clines
  +   "#include <errno.h>"
      "#include <sys/socket.h>")
     #+:wsock
     (ffi:clines
  
positive.code:                          (#1 != Cnil) ? &tv : NULL);
  
            if (count == 0)
              @(return) = Cnil;
            else if (count < 0)
              /*###FIXME: We should be raising an error here...
  
                except, ofcourse in case of EINTR or EAGAIN */
  
              @(return) = Cnil;
            else
              {
                cl_object rv = Cnil;
  
negative.code:           (secs usecs)
            (split-timeout (or timeout 1))
          (let* ((sock-fds (mapcar #'sb-bsd-sockets:socket-file-descriptor
                                   (mapcar #'socket sockets))))
  	  (multiple-value-bind
  		(result-fds err)
  	      (read-select sock-fds (when timeout secs) usecs)
  	    (if (null err)
  		(remove-if #'(lambda (s)
  			       (not
  				(member
  				 (sb-bsd-sockets:socket-file-descriptor
  				  (socket s))
  				 result-fds)))
  			   sockets)
  		(map-socket-error err)))))))
    )
  