请教,如何给信号处理函数加参数?

发布于 2022-07-18 08:30:19 字数 1231 浏览 12 评论 3

新手
      想定义一个信号处理函数,用该信号处理函数来处理传来的一些数据。但是看到的信号处理多是如下这样的:
void do_something(int signo)
{
      printf("do_something" ) ;
}
main(){
       ...
      int a = 1;
      struct sigaction action;
      action.sa_handler = do_something;
      action.sa_flags = 0;
      sigemptyset(&action.sa_mask);
      sigaction(SIGALRM,&action,NULL);
      alarm(4);
       ...
}

       请问,我能将主函数中的变量,比如a传给do_something函数么?甚至从do_something 函数中返回一个

值?(不想采用将a作为全局变量这种方式)如果想实现这个目的我应该怎么作?或参考哪些资料?

                                                                      真诚的谢谢大家!

[ 本帖最后由 jcs4989 于 2006-8-4 16:19 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

稚气少女 2022-07-24 19:17:48

消息队列

·深蓝 2022-07-24 02:03:44

可以用 消息队列 或 信号 + 共享内存

So尛奶瓶 2022-07-19 06:06:46

信号处理可能不能满足你的要求。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文