0

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

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

  1. 函数 A 使用指向结构的指针引发信号/事件
  2. 处理函数处理事件。
  3. 处理函数只会在事件上调用,并且循环等待事件,如 select() ,是不可取的。
4

1 回答 1

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);

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

祝你好运 :-)

于 2011-01-09T22:48:20.693 回答