【发布时间】:2017-10-23 22:33:36
【问题描述】:
我正在阅读一篇关于信号的文章,我不确定这部分代码在做什么。有人可以为我解释一下吗?本文是关于创建 TCP 畅通服务器的。
struct sigaction sigchldAction;
sigchldAction.sa_handler = SIG_IGN;
sigchldAction.sa_flags = 0;
sigemptyset(&sigchldAction.sa_mask);
if (sigaction(SIGCHLD, &sigchldAction, NULL) == -1) callError("sigaction()");
【问题讨论】:
-
听起来你已经知道代码的作用了。有什么问题?
-
我不确定为什么 sa_handler 中有 SIG_IGn。
-
@user3463055 这是对特殊地址值的定义(如
NULL,但不同(我的系统上的0x1))。内核会注意到它并将其解释为忽略信号的命令。