当前位置: 技术问答>linux和unix
alarm() signal()的问题??
来源: 互联网 发布时间:2016-10-21
本文导语: #include #include #include #include #include #define MAXLILE 1000 static jmp_buf env_alrm; static void sig_alarm(int signo) { longjmp(env_alrm,1); } int main(int argc,char * argv[]) { int n,m; char line[MAXLILE]; if(signal(SIGALRM,sig_alarm)==SIG_ER...
#include
#include
#include
#include
#include
#define MAXLILE 1000
static jmp_buf env_alrm;
static void sig_alarm(int signo)
{
longjmp(env_alrm,1);
}
int main(int argc,char * argv[])
{
int n,m;
char line[MAXLILE];
if(signal(SIGALRM,sig_alarm)==SIG_ERR)
printf("errorn");
if(setjmp(env_alrm)!=0)printf("read timeoutn"); //不输入数据 10秒过后 alarm(10)发出信号 又跳回这行
m=alarm(10); //接着应该再一次运行alarm(10)再什么也不输 在等待10秒
//printf("%dn",m); //应该alarm(10)再次发出信号 而为么这次signal 没有运行
if((n=read(STDIN_FILENO,line,MAXLILE))
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!