anchor.diff:      (event :int))
   
     ;; this one is probably completely broken
  -  (defun wait-for-multiple-objects (handle timeout)
  +  (defun %wait-for-single-object (handle timeout)
       (let ((ret (with-foreign-object (phandle :int)
                    (setf (mem-ref phandle :int) handle)
                    (%wait 1 phandle t (timeout->milisec timeout)))))
  
positive.code:                  (if (= (wsa-get-last-error) +wsaenotsock+)
                       (wait-for-multiple-objects handle timeout)
                       (error 'poll-error :fd fd))
                   (let ((ret (wait-for-multiple-objects ev timeout)))
                     (ecase event-type
                       (:read (values ret nil))
                       (:write (values nil ret))))))
  
negative.code:   (defconstant +socket-error+ -1)
    (defconstant +wsaenotsock+ 10038)
  
    (defcfun ("MsgWaitForMultipleObjects" %wait :cconv :stdcall) dword
      (count    dword)
      (handles  :pointer)
      (wait-all bool)
  