Commit 28317a087e58dceff85a448c22bbbafebed0b6ab

Nick Mathewson 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.