说明

不要在Linux下使用这些功能。由于历史上的错误,在Linux下,这些函数分别是抬高(3)和信号(2)的别名。

在其他地方,在类似于System V的系统上,这些功能实现了软件信令,完全独立于经典的signal(2)和kill(2)函数。函数ssignal()定义使用函数gsignal()引发带有数字符号的软件信号时采取的操作,并返回先前的此类操作或SIG_DFL。函数gsignal()执行以下操作:如果没有为信号传递指定动作(或动作SIG_DFL),则不执行任何操作并返回0。如果为信号传递指定动作SIG_IGN,则不执行任何操作并返回1。否则,它将动作重置为SIG_DFL,并使用参数signum调用动作函数,并返回该函数返回的值。信号的可能值范围有所不同(通常为1-15或1-17)。

GSIGNAL - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-04-11

语法

#include <signal.h>

typedef void (*sighandler_t)(int);

int gsignal(int signum);

sighandler_t ssignal(int signum, sighandler_t action);

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

gsignal(),ssignal():
从glibc 2.19开始:
_DEFAULT_SOURCE
Glibc 2.19及更早版本:
_SVID_SOURCE

出版信息

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

遵循规范

这些功能在AIX,DG / UX,HP-UX,SCO,Solaris,Tru64下可用。在大多数这些系统中,它们被称为过时的,而在glibc中则被破坏。一些系统还具有gsignal_r()和ssignal_r()。

名称

gsignal,ssignal-软件信号设施

属性

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

InterfaceAttributeValue
gsignal()Thread safetyMT-Safe
ssignal()Thread safetyMT-Safe soirntr

另外参见

kill(2),signal(2),raise(3)

日期:2019-08-20 18:01:22 来源:oir作者:oir