Linux信号带有额外的信息参数

时间:2010-12-23 18:40:43

标签: c events asynchronous select-function

我在sa_sigaction处理程序的回调中有一些额外的信息,似乎不可能。

所以我想知道你是否可以建议我替代方案。基本要求:

  1. 函数A使用指向结构
  2. 的指针引发信号/事件
  3. 处理程序功能可以解决此事件。
  4. 处理程序函数只会在事件上调用,而循环等待事件,就像在select()中一样,是不可取的。

1 个答案:

答案 0 :(得分:1)

像这样?

    int sigqueue(pid_t to_pid, int signr, const union sigval pointer_or_int);

在另一端:

   int signr=int sigwaitinfo(const sigset_t *set, siginfo_t *info);

警告!:通过引用传递可能在不同的地址/进程空间之间不起作用(我还没有自己测试过),所以首先在同一进程的线程之间测试....

祝你好运: - )