A traditional application built around poll will have a single structure containing all active descriptors, which is passed to the kernel every time the applications goes through the central event loop. A kqueue-aware applica- tion will need to notify the kernel of any changes to the list of active descriptors, instead of passing in the entire list. This can be done either by calling kevent() for each update to the active descriptor list, or by building up a list of descriptor changes and then passing this list to the kernel the next time the event loop is called. The lat- ter approach offers better performance, as it reduces the number of.