def on_pollfd_removed &block
      @on_pollfd_removed = proc do |fd, _|
        pollfd = Pollfd.new fd
        block.call pollfd
      end
      Call.libusb_set_pollfd_notifiers @ctx, @on_pollfd_added, @on_pollfd_removed, nil
    end
def on_pollfd_removed &block
      @on_pollfd_removed = proc do |fd, _|
        pollfd = Pollfd.new fd
        block.call pollfd
      end
      Call.libusb_set_pollfd_notifiers @ctx, @on_pollfd_added, @on_pollfd_removed, nil
    end
Register a notification block for file descriptor removals.

 This block will be invoked for every removed file descriptor that
 libusb uses as an event source.

 Note that the removal notifier may be called during {Context#exit}
 (e.g. when it is closing file descriptors that were opened and added to the poll
 set at {Context#initialize} time). If you don't want this, overwrite the notifier
 immediately before calling {Context#exit}.

 @yieldparam [Pollfd] pollfd  The removed file descriptor is yielded to the block