1
比方说,我在我的程序开始时我SIG_IGN
SIGPIPE
。稍后,我收到一个SIGPIPE
。 正常情况下,,一些系统调用如select()
在接收信号时处于活动状态将会中断并返回失败并设置errno = EINTR
。我的问题是,如果我明确告诉我想忽略的Linux内核SIGPIPE
,会发生这种情况吗?在Linux下,被忽略的信号是否仍会中断系统调用?
比方说,我在我的程序开始时我SIG_IGN
SIGPIPE
。稍后,我收到一个SIGPIPE
。 正常情况下,,一些系统调用如select()
在接收信号时处于活动状态将会中断并返回失败并设置errno = EINTR
。我的问题是,如果我明确告诉我想忽略的Linux内核SIGPIPE
,会发生这种情况吗?在Linux下,被忽略的信号是否仍会中断系统调用?
不会,它会忽略它。唯一不容忽视的信号是SIGKILL。