最終更新:2016-09-15 (木) 15:43:32 (2778d)
pollfd
Top / pollfd
- int poll(struct pollfd *fds, nfds_t nfds, int timeout);
struct pollfd { int fd; /* file descriptor */ short events; /* requested events */ short revents; /* returned events */ };
フラグ
POLLIN? 読み出し可能なデータがある。 POLLPRI? 読み出し可能な緊急データ (urgent data) がある (例えば、TCP ソケットの帯域外 (out-of-band data) データを受信した場合や、 パケットモードの擬似端末のマスタがスレーブ側の変化を見つけたとき)。 POLLOUT? 書き込みが可能になった。ただし、ソケットやパイプで利用可能な空間よりも大きなデータを書き込んだ場合には (O_NONBLOCK がセットされている場合以外は) やはり停止することになる。 POLLRDHUP? (Linux 2.6.17 以降)ストリームソケットの他端が、コネクションを close したか、 コネクションの書き込み側を shutdown した。 この定義を有効にするには、 (「どの」ヘッダーファイルをインクルードするよりも前に) _GNU_SOURCE 機能検査マクロを定義しなければならない。 POLLERR? エラー状態 (出力の場合のみ)。 POLLHUP? ハングアップした (出力の場合のみ)。 POLLNVAL? 不正な要求: fd がオープンされていない (出力の場合のみ)。