头歌实践教学平台——Linux 信号
目录
第1关:信号处理函数
第2关:signal高级处理之sigaction
第3关:Linux定时器
第1关:信号处理函数
在主函数的最开始会初始化一个全部变量 g_i4event 为 0。
本关的编程任务是补全右侧代码片段中两段Begin至End中间的代码,具体要求如下:
1. 在 do _signal中分别为信号 SIGUSR1 、 SIGUSR2 注册信号处理函数 funcA 和 funcB ,而后将 g_i4event 置为 1;
2. 完成两个信号处理函数,其中 funcA 中将 g_i4event 置为 2, funcB 中将 g_i4event 为 3。
#include
#include
#include
#include
#include
int g_i4event;
typedef void (*sighandler_t)(int);
/********Begin********/
void funcA(int signum) {
g_i4event = 2;
}
void funcB(int signum) {
g_i4event = 3;
}
/*********End*********/
int do_signal(void)
{
/********Begin********/
signal(SIGUSR1, funcA);
signal(SIGUSR2, funcB);
g_i4event