Я изменяю приложение, чтобы заменить его использование select() на kqueue. select() позволяет опросить исключительные условия:
int select(int nfds,
fd_set *restrict readfds,
fd_set *restrict writefds,
fd_set *restrict errorfds, <---- this thing here
struct timeval *restrict timeout
);
После прочтения документации kqueue кажется, что это невозможно сделать. Есть EVFILT_READ
и EVFILT_WRITE
, но ничего похожего на EVFILT_ERROR
/EVFILT_EXCEPTIONAL
. Можно ли опрашивать исключительные условия, и если да, то как?