博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
观察select超时的表现
阅读量:5011 次
发布时间:2019-06-12

本文共 955 字,大约阅读时间需要 3 分钟。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 16 int main()17 {18 int keyboard;19 int ret,i;20 char c;21 fd_set readfd;22 struct timeval timeout;23 keyboard = open("/dev/tty",O_RDONLY|O_NONBLOCK);24 assert(keyboard>0);25 while(1){26 timeout.tv_sec = 5;27 timeout.tv_usec = 0;28 FD_ZERO(&readfd);29 FD_SET(keyboard,&readfd);30 ret = select(keyboard+1,&readfd,NULL,NULL,&timeout);31 if(ret == -1){32 perror("select error!\n");33 }34 else if(ret){35 if(FD_ISSET(keyboard,&readfd)){36 i = read(keyboard,&c,1);37 if('\n'==c)38 continue;39 printf("The input is %c\n",c);40 if('q'==c)41 break;42 }43 }44 else if(ret == 0){45 printf("time out !\n");46 }47 }48 return 0;49 }

 

转载于:https://www.cnblogs.com/--lr/p/11295821.html

你可能感兴趣的文章
php_soap扩展应用
查看>>
第二百三十一节,Bootstrap 介绍
查看>>
vi/vim 三种模式的操作
查看>>
JAVA面向对象三大特性总结
查看>>
guid
查看>>
Python中出现“TabError: inconsistent use of tabs and spaces in indentation”问题的解决
查看>>
ajax请求
查看>>
js学习总结----DOM增删改和应用
查看>>
希尔伯特矩阵(Hilbert matrix)
查看>>
(20)sopel算法
查看>>
学习总结 javascript 闭包
查看>>
实验吧一个小坑注入
查看>>
【 D3.js 高级系列 — 8.0 】 打标
查看>>
Mac必备软件推荐
查看>>
Android Gson深入分析
查看>>
display:flow-root
查看>>
判读字符串是否为空的全局宏-分享
查看>>
iOS中Block的基础用法
查看>>
mac 终端 使用ftp命令
查看>>
22-reverseString-Leetcode
查看>>