SYSV_SIGNAL - Linux手册页

时间:2019-08-20 18:01:29  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2017-09-15

名称

sysv_signal-使用System V语义的信号处理

语法

#定义_GNU_SOURCE / 参见feature_test_macros(7)/
#包括

typedef void(* sighandler_t)(int);

sighandler_t sysv_signal(int signum,sighandler_t handler);

说明

sysv_signal()函数采用与signal(2)相同的参数,并执行相同的任务。

但是sysv_signal()提供了System V不可靠的信号语义,即:a)调用处理程序时,信号的处理被重置为默认值; b)在信号处理程序执行期间,不会阻止其他信号实例的传递; c)如果处理程序中断(某些)阻塞的系统调用,则该系统调用不会自动重新启动。

返回值

sysv_signal()函数返回信号处理程序的先前值,如果出错则返回SIG_ERR。

错误说明

至于信号(2)。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
sysv_signal()Thread safetyMT-Safe

遵循规范

此功能是非标准的。

备注

应避免使用sysv_signal();请改用sigaction(2)。

在较旧的Linux系统上,sysv_signal()和signal(2)是等效的。但是在较新的系统上,signal(2)提供了可靠的信号语义;有关详细信息,请参见signal(2)。

sighandler_t的使用是GNU扩展;仅当定义了_GNU_SOURCE功能测试宏时,才定义此类型。

另外参见

sigaction(2),signal(2),bsd_signal(3),signal(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/