Я портировал код от select() до kqueue() сегодня, и я заметил, что kevent(), похоже, не имеет аналога для функции select() исключения select().Есть ли эквивалент kqueue()/kevent() для select() 'errorfds?
То есть, выберите() 's-функции подписи:
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(), или это там, но реализовано каким-то образом, что не очевидно для меня?
Для чего вам нужна ошибка? Ошибки чтения уже сообщаются через события чтения, а ошибки записи - через события записи (в результате ошибки чтения или записи). –