SIGINTERRUPT - Linux手册页

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

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

名称

siginterrupt-允许信号中断系统调用

语法

#include <signal.h>

int siginterrupt(int sig, int flag);

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

siginterrupt():

_XOPEN_SOURCE>= 500 || / *自glibc 2.12起:* / _POSIX_C_SOURCE>= 200809L || / * Glibc版本

说明

当系统调用被信号sig中断时,siginterrupt()函数将更改重新启动行为。如果flag参数为false(0),则被指定的信号sig中断时,系统调用将重新启动。这是Linux中的默认行为。

如果flag参数为true(1)并且未传输任何数据,则被信号sig中断的系统调用将返回-1,并且errno将设置为EINTR。

如果flag参数为true(1)并且数据传输已开始,则系统调用将被中断,并将返回实际传输的数据量。

返回值

siginterrupt()函数成功返回0。如果信号编号sig无效,则返回-1,并且将errno设置为指示错误原因。

错误说明

EINVAL
指定的信号编号无效。

属性

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

InterfaceAttributeValue
siginterrupt()Thread safetyMT-Unsafe const:sigintr

遵循规范

4.3 BSD,POSIX.1-2001。 POSIX.1-2008将siginterrupt()标记为已过时,建议将sigaction(2)与SA_RESTART标志一起使用。

另外参见

信号(2)

出版信息

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