The kevent function is a BSD system call, that is used to register for event notification and to wait, or poll, for ready events.
It has the functionality of select, poll and epoll. The function is able to register and notify of many kinds of events: file operations, sockets, processes, POSIX signals, pipes, timers, user defined events.
The kevent function can register for many events, and notify of all registered events, using one system call.