首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

防止pause跟alrm产生竞争

2014-04-25 
防止pause和alrm产生竞争1 #include2 #include3 #include4 #include

防止pause和alrm产生竞争
  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<unistd.h>
  4 #include<signal.h>
  5 #include<setjmp.h>
  6 static jmp_buf env_alrm;
  7
  8
  9 void alarm_signal(int a)
10 {
11         longjmp(env_alrm,1);
12
13 }
14
15 int main()
16 {
17
18         if(signal(SIGALRM,alarm_signal) == SIG_ERR)
19         {
20                 printf("has error\n");
21                 return 1;
22         }
23
24         if(setjmp(env_alrm)==0)
25         {
26                 alarm(5);
27                 pause();
28         }
29
30
31         printf("--------over---------\n");
32         return 0;
33
34
35
36
37  }

热点排行