注册 登录
编程论坛 Linux教室

求高手解决一下高级信号注册函数sigaction

w123401185 发布于 2013-04-14 20:22, 1916 次点击
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);  //这里想把结构体地址传过去

0 回复
1