4

今日、いくつかのコードを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)に対応しますが、(errorfds)に対応するEVFILT_ERRORのようなものは表示されません。

kevent()でのsocket-error-conditionsのサポートは本当にないのですか、それとも存在しますが、私には明らかではない方法で実装されていますか?

4

1 に答える 1

0

このようにフィルタリングすることはできません。フラグ (EV_EOF) と fflags に基づいて、着信イベントを手動で分類する必要があります。

于 2011-12-31T19:35:59.583 に答える