【发布时间】:2023-04-24 18:39:01
【问题描述】:
我本来想在 sa_sigaction 处理程序的回调中有一些额外的信息,这似乎是不可能的。
所以我想知道您是否可以向我推荐替代方案。基本要求:
- 函数 A 通过指向结构的指针引发信号/事件
- 处理函数处理事件。
- 处理函数只会在事件上调用,并且循环等待事件,如 select() 是不可取的。
【问题讨论】:
标签: c events asynchronous select-function
我本来想在 sa_sigaction 处理程序的回调中有一些额外的信息,这似乎是不可能的。
所以我想知道您是否可以向我推荐替代方案。基本要求:
【问题讨论】:
标签: c events asynchronous select-function
喜欢这个?
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);
警告!:通过引用传递可能无法在不同的地址/进程空间之间工作(我自己还没有测试过)所以首先在同一进程的线程之间进行测试....
祝你好运:-)
【讨论】: