开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

sigaction

接口名称

sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)

接口描述

设置信号处理方式。

  • K-NET首先会注册SIGINT、SIGTERM、SIGQUIT三种信号,行为为exit(0),以达到在destructor中断连的目的。如果constructor之后用户有注册相应信号且行为不是SIG_DFL,则让用户注册覆盖掉。
  • 目前只支持SIGINT、SIGQUIT、SIGTERM三种信号触发时发送RST报文。
  • 调用_exit等不会执行用户态析构函数的进程退出函数,SIGINT、SIGQUIT、SIGTERM三种信号无法发送RST报文。
  • SIGINT、SIGQUIT、SIGTERM三种信号的处理函数目前不支持重入,只会调用一次。
  • 带SA_SIGINFO标记的信号处理在处理完后会强制退出程序。

参数说明

参数 说明 备注
signum 要检查或修改的信号编号。 支持所有信号。
*act 指向新的信号处理动作的指针。如果为NULL,将会填充对应信号旧的处理方式。 支持NULL。
*oldact 指向用于保存旧的信号处理动作的指针。如果为NULL,则不保存旧的信号处理动作。 支持NULL。

返回值

类型:int

  • 0:表示成功
  • -1:表示失败,并设置errno以指示错误类型

错误码

错误码 描述
EINVAL 入参signum为无效信号。
ELIBBAD 系统符号加载失败。