Я портировал некоторый код из select () в kqueue () сегодня, и заметил, что у kevent (), похоже, нет аналога для функции select () «исключение-набор».
То есть функция-подпись select () имеет вид:
int select(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict errorfds, struct timeval *restrict timeout);
... и с kevent () EVFILT_READ соответствует (readfds), а EVFILT_WRITE соответствует (writefds), но я не вижу ничего подобного EVFILT_ERROR, который бы соответствовал (errorfds).
Действительно ли просто нет поддержки условий ошибки сокета в kevent (), или она есть, но реализована каким-то образом, что мне не очевидно?