anchor.diff:  	  (push (list (file-descriptor socket) filter :ev-add) rv))
   	rv))))
   
  -(defun prepare-kevent-struct (change kevent-struct-ptr)
  -  (cffi:with-foreign-slots ((ident filter flags fflags data udata ext) kevent-struct-ptr (:struct kevent64-s))
  -    (destructuring-bind (change-ident change-filter change-flags) change
  -      (setf ident change-ident
  -	    filter (cffi:foreign-enum-value 'kevent-filters change-filter)
  -	    flags (cffi:foreign-enum-value 'kevent-flags change-flags)
  -	    fflags 0
  -	    data 0
  -	    udata 0)
  -
  -      (setf (cffi:mem-aref ext :uint64 0) 0
  -	    (cffi:mem-aref ext :uint64 1) 0))))
  -
   (defmethod wait-for-events ((poller kqueue-poller) timeout)
     (assert (typep timeout '(or (member :indefinite :immediate)
   			      (real 0))))
  -  (let ((kevent-struct '(:struct kevent64-s)))
  +  (let ((kevent-struct *kevent-struct*))
       (cffi:with-foreign-objects ((change-list-ptr kevent-struct 0)
   				(event-list-ptr kevent-struct (maximum-number-of-events poller))
   				(timespec-ptr '(:struct timespec)))
  
positive.code: 	(loop
  	   :for change :in change-list
  	   :for index :from 0
  	   :for ptr := (cffi:mem-aptr ptr-change-list '(:struct kevent64-s) index)
  	   :do
  	   (prepare-kevent-struct change ptr))
  	
  
negative.code:       poller
      (let* ((current-events (gethash socket monitor-table))
  	   (change-list (compute-change-list socket current-events value))
  	   (kevent-struct *kevent-struct*))      
        (cffi:with-foreign-objects ((ptr-change-list kevent-struct (length change-list))
  				  (ptr-event-list kevent-struct 0)
  				  (timeout '(:struct timespec)))
  