gpt4 book ai didi

c - 使用 sigaction 处理信号

转载 作者:太空狗 更新时间:2023-10-29 17:19:20 25 4
gpt4 key购买 nike

我需要用 sigaction 处理一些信号,但是当我编译我的代码时我得到这个错误:

warning: assignment from incompatible pointer type

代码是:

struct sigaction hup_act;
...
hup_act.sa_flags=SA_SIGINFO;
hup_act.sa_sigaction = sighupHandler;
sigaction(SIGHUP, &hup_act, NULL);

关于 hup_act.sa_sigaction 分配的警告。当我向我的应用程序发送 sighup 时,此警告会导致段错误。

最佳答案

如果在 struct sigaction 的成员 sa_flags 中设置了 SA_SIGINFO 使用类型的方法

void signalhandler(int, siginfo_t *, void *);

作为处理函数分配给struct sigaction的成员sa_sigaction

否则使用类型的方法

void signalhandler(int);

作为分配给 struct sigaction 的成员 sa_handler 的处理函数。

关于c - 使用 sigaction 处理信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10565597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com