• Show log

    Commit

  • Hash : 28317a08
    Author : Nick Mathewson
    Date : 2011-05-03T13:54:57

    Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors
    
    Apparently, kevent fails gracefully if there is not enough space in its
    output events array to report every _event_... but it just dies and returns
    -1 if there is not enough space to report every _error_.
    
    There are a couple of possible fixes here.  One would to handle -1
    returns from kevent better by re-growing the array and retrying... but
    that seems a little error prone.  Instead, I'm just going to say that
    the events array must be large enough to handle all the errors.
    
    This patch also adds a unit test designed to make sure that our
    many-events-out code works even if not all the events are added at
    once.