2011-01-27 6 views
3

epoll_waitでモニタするディスクリプタを追加するときに、EPOLLINEPOLLOUTの両方のフラグを指定しているとします。 'epoll'のマンページから配列の一部として返されたepoll_event構造体のそれぞれが正確に何であるかは明らかではない。eventsフィールド。引用:`epoll_wait`は、EPOLLINとEPOLLOUTの両方が追加されたときにどのイベントがトリガされたかを示しますか?

イベントメンバーには返されたイベントビットフィールドが含まれます。

「can-read」ではなく「can-write」を表すイベントが発生したかどうかを区別することは不可能ですか?基本的にイベントマスクがあり、返された配列が論理的にはであることを論理的に期待します。イベントはファイル記述子で '起こった'のですか?

答えて

4

あなたの期待は正しいです。 eventsメンバには、そのファイルディスクリプタで発生したイベントが含まれます。

+1

'events'は' EPOLLIN'と 'EPOLLOUT'マスクの両方を含むことができますか? –

+1

@ compile-fan:はい。ファイル記述子がポーリング時にすでに読み書き可能である場合のレベルトリガを考慮してください。 – caf

関連する問題