複数のファイルディスクリプタを監視し、変化があるまで待つ
long select (
int nfds,
fd_set * readfds,
fd_set * writefds,
fd_set * exceptfds,
const struct timeval * timeout
);
パラメータ
nfds
- [in] BSDソケットとの互換を保つためにあるので、無視される。
- 本来は、調べるディスクリプタの数を指定。0を指定すれば何もしない。1を指定すれば0番目。よって、ビットが立っている番号 +1の値を指定することになる
readfds
- [in, out] 入力可能か調べるファイルディスクリプタの指定
writefds
- [in, out] 出力可能か調べるファイルディスクリプタの指定
exceptfds
- [in, out] エラーが発生したか調べるファイルディスクリプタの指定
timeout
- [in] タイムアウトする時間の指定。NULLを指定するべき
返り値
- 成功した場合、ディスクリプタ中のビットが立っている総数を返す。
- エラーならば、-1を返す。
- タイムアウトした場合、0を返す。
NOTE