test10_6.txt
来自「嵌入式c源码」· 文本 代码 · 共 38 行
TXT
38 行
#include <signal.h>
#include "ourhdr.h"
volatile sig_atomic_t quitflag;
int main(void)
{
void sig_int(int);
sigset_t newmask, oldmask, zeromask;
if(signal(SIGINT,sig_int)==SIG_ERR)
err_sys("signal (SIGINT) error");
if(signal(SIGQUIT,sig_int)==SIG_ERR)
err_sys("signal (SIGQUIT) error");
sigemptyset(&zeromask);
sigemptyset(&newmask);
sigaddset(&newmask, SIGQUIT);
if(sigprocmask(SIG_BLOCK,&newmask,&oldmask)<0)
err_sys("SIG_BLOCK error");
while(quitflag==0)
sigsuspend(&zeromask);
quitflag=0;
if(sigprocmask(SIG_SETMASK,&oldmask,NULL)<0)
exit(0);
}
void sig_int(int signumber)
{
if(signumber==SIGINT)
printf("\nintetrreupt\n");
else if(signumber==SIGQUIT)
quitflag=1;
return;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?