- 论坛徽章:
- 0
|
谢谢,几位的回答。不过我还是不太明白 这是源代码(glib C中的例子):
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/time.h>
int input_timeout(int filedes,unsigned int seconds){
fd_set set;
struct timeval timeout;
//初始化文件描述符集
FD_ZERO(&set);
FD_SET(filedes,&set);
//初始化timeout
timeout.tv_sec = seconds;
timeout.tv_usec =0;
//select 超时:0,正常:1,错误:-1
return TEMP_FAILURE_RETRY(select(FD_SETSIZE,&set,NULL,NULL,&timeout));
}
int main(void){
fprintf(stderr,"select returned %d.\n",input_timeout(STDIN_FILENO,5));
return 0;
} |
|