anchor.diff:    (declare (type poll-context pc)
              (type (or null integer) timeout))
   
  +  ;; reset all the events???
  +  ;; (dolist (pfd (poll-context-fds pc))
  +  ;;   (apply #'wsa-event-select
  +  ;;          (pollfd-fd pfd)
  +  ;;          (poll-context-event pc)
  +  ;;          (poll-events (pollfd-events pfd))))
  +  
     ;; start by waiting on the event
     (let ((sts
            (wsa-wait-for-single-event (poll-context-event pc)
  
positive.code:                       ;; we need to map :pollin event to read and accept to preserve the semantics of posix poll
                        (:pollin (logior #x1 #x8)) ;; FD_READ|FD_ACCEPT
                        (:pollout #x2) ;; FD_WRITE
                        ))))
      (let ((sts (%wsa-event-select sock event evt)))
        (if (= sts +socket-error+)
  
negative.code:                       #+nil(2 :oob) ;; FD_OOB
                        (3 :pollin) ;; FD_ACCEPT. We map this to pollin to preserve semantics with posix poll
                        #+nil(4 :connect) ;; FD_CONNECT 
                        (5 :pollhup)) ;; FD_CLOSE 
                      ret))
              (let ((ecode (mem-aref (foreign-slot-value events '(:struct wsa-network-events) 'ierrors)
                                     :uint32
  