Linux 信号与时间管理全解析
1. 信号处理
1.1 带负载发送信号
在信号处理中,使用 SA_SIGINFO 标志注册的信号处理程序会接收一个 siginfo_t 参数,该结构包含 si_value 字段,可用于传递从信号发生器到信号接收器的可选负载。
POSIX 定义的 sigqueue() 函数允许进程发送带有负载的信号,其原型如下:
#include <signal.h>
int sigqueue (pid_t pid,
int signo,
const union sigval value);
sigqueue() 与 kill() 类似,成功时,由 signo 标识的信号会被排队到由 pid 标识的进程或进程组,函数返回 0。信号的负载由 value 给出,它是一个整数和空指针的联合:
union sigval {
int sival_int;
void *sival_ptr;
};
调用失败时,函数返回 -1,并将 errno 设置为以下错误之一:
|
超级会员免费看
订阅专栏 解锁全文

2894

被折叠的 条评论
为什么被折叠?



