求高手解决一下高级信号注册函数sigaction
sigaction()函数的第三个参数的具体用法???假如我想将一个结构体类型传到信号处理函数中,并使用结构体变量中的数据,该怎么操作呢????
void func(int sig, siginfo_t* info, void* p)
{
int* ptr = p;
printf("%d,%d\n", ptr->a, ptr->b); //这里是错误的:在非结构或联合中使用a,b
}
int main(){
struct in{
int a = 1;
int b = 2;
}in;
struct sigaction action = {0};
action.sa_handler = func;
action.sa_flags = SA_SIGINFO;
sigaction(2, &action, (struct sigaction*)&in); //这里想把结构体地址传过去