Slide 5
Slide 5 text
int foo() {
fd_set readfds;
struct timeval tv;
int ret;
FD_ZERO(&readfds);
FD_SET(STDIN_FILENO, &readfds); //STDINを監視する
tv.tv_sec = 5; // 待ち時間
tv.tv_usec = 0;
ret = select(STDIN_FILENO + 1, &readfds, NULL, NULL, &tv); //★
if (ret == -1) { /*エラー処理*/ }
else if (ret == 0) { /*タイムアウト*/ }
else {
if (FD_ISSET(STDIN_FILENO, &readfds)) {/*STDINを読む*/ }
}
}