sig1.c

来自「这个资料非常不错」· C语言 代码 · 共 39 行

C
39
字号
/********* *sig1.c * *********/#include <stdio.h> #include <stdlib.h>#include <signal.h>#include <sys/types.h> int main(int argc,char **argv){ double y; sigset_t intmask; int i,repeat_factor; if(argc!=2)  {  fprintf(stderr,"Usage:%s repeat_factor\n\a",argv[0]);  exit(1);  } if((repeat_factor=atoi(argv[1]))<1)repeat_factor=10;   sigemptyset(&intmask);      sigaddset(&intmask,SIGINT); while(1)  {  sigprocmask(SIG_BLOCK,&intmask,NULL);  fprintf(stderr,"SIGINT signal blocked\n");  for(i=0;i<repeat_factor;i++)  fprintf(stderr,"Blocked calculation is finished\n");  sigprocmask(SIG_UNBLOCK,&intmask,NULL);  fprintf(stderr,"SIGINT signal unblocked\n");  for(i=0;i<repeat_factor;i++)        fprintf(stderr,"Unblocked calculation is finished\n");  }  exit(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?