KqueueSourceis_available Indicates if the system where this library was built has kqueue available.
kevent is used to register new events, and fetch any ready events from the kernel queue.
changelist is the list of new events to be submitted.
eventlist is the container where the kernel queue will fill any new events that are ready for the user.
If eventlist is empty the kevent call will return immediately even if a non zero timeout is used. The Event_list size will indicate the number of items returned by the kernel queue.
The function returns an int representing the number of events returned by the kevent in the eventlist.