SYSV_SIGNAL - Linux手册页
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)。
Interface | Attribute | Value |
sysv_signal() | Thread safety | MT-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/。