Сегодня я переносил некоторый код из 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() просто нет поддержки условий ошибки сокета, или она есть, но реализована каким-то неочевидным для меня способом?