>>>signal函数之怪现象
read程序可能产生阻塞现象,所以我采用signal函数来定时。
...
signal(SIGALRM,sigint_handler);
alarm(5);
nbytes = read(connfd,buf,1024);
alarm(0);
...
其中sigint_handler是只有return 的函数。
现在的问题是:我经过测试,发现执行sigint_handler之后,程序回到read函数继续执行(因为这个时候客户端write数据的时候read函数能返回正常的结果)。
问题:我怎么才能实现read函数返回 EINTR 结果呢??????
珠江路上超强的IT厕所
----------------------------------------
昨日,去逛电脑城,突然觉得一阵腹痛,不好,要如厕。
急匆匆来到WC前,抬头只见门口上方挂一电子牌:上写
“WINDOWS XP HOME WC”
不禁赞叹:不愧是珠江路,果然是IT,高科技!
好急,快进去,怎么门推不开?抬头一看,电子板上显示:
“用户名不存在或密码错误,请找管理员”
给看门老头交了五毛钱,拿了个密码,急忙入内,冲向马桶
可是马桶盖怎么也打不开,我实在忍不住了,用力一拉,墙上弹出一块牌子:
“!系统提示:您没有这个马桶的访问权限”
**!好在我知道一个超级用户密码,这时起了作用,在控制面板中输入后,
马桶盖终于打开了…..长输了一口气,好舒服哦。
完事,伸手去拿手纸,手纸却又没法从盒子里抽出来,不会吧,难道?
一转头,果然,又弹出了一个牌子
“此纸盒已加密!”
我晕,正在急不可耐时,旁边蹲位有人伸过来一只手:
“你第一次用WINXP WC吧,没关系,我们手纸共享好了”
谢谢,谢谢, 边道谢,边提好裤子,
一冲马桶,又弹一牌子:
“病毒已清除!”
刚走两步,只听“砰”的一声,马桶盖大力的关上了,牌子上道:
“连接超时,请刷新!”
好险!!!