第1关:信号处理函数
在 do _signal中分别为信号 SIGUSR1 、 SIGUSR2 注册信号处理函数 funcA 和 funcB ,而后将 g_i4event 置为 1;
完成两个信号处理函数,其中 funcA 中将 g_i4event 置为 2, funcB 中将 g_i4event 为 3。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <signal.h>
// 全局变量,用于记录事件状态
int g_i4event;
// 定义 sighandler_t 类型,表示信号处理函数的指针类型
typedef void (*sighandler_t)(int);
/* 实现 funcA 和 funcB */
// 信号处理函数 funcA
// 功能:当接收到 SIGUSR1 信号时,将 g_i4event 设置为 2
void funcA(int signo)
{
g_i4event = 2;
}
// 信号处理函数 funcB
// 功能:当接收到 SIGUSR2 信号时,将 g_i4event 设置为 3
void funcB(int signo)
{
g_i4event = 3;
}
标签:Educoder,int,信号处理,---,funcB,funcA,Linux,i4event,include
From: https://blog.csdn.net/M_inherit/article/details/143721696