加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Signal Handling--ref

发布时间:2021-01-25 01:18:04 所属栏目:Linux 来源:网络整理
导读:signal is a software interrupt delivered to a process. The operating system uses signals to report exceptional situations to an executing program. Some signals report errors such as references to invalid memory addresses; others report asy

void
fatal_error_signal (int sig)
{
/ Since this handler is established for more than one kind of signal,it might still get invoked recursively by delivery of some other kind
of signal. Use a static variable to keep track of that.
/
if (fatal_error_in_progress)
raise (sig);
fatal_error_in_progress = 1;

/* Now do the clean up actions:

  • reset terminal modes
  • kill child processes
  • remove lock files */
    ...

/ Now reraise the signal. Since the signal is blocked,it will receive its default handling,which is
to terminate the process. We could just call
exit or abort,but reraising the signal
sets the return status from the process correctly.
/
raise (sig);
}

setjmpandlongjmpfacilities (see section).

#include 
#include 

jmp_buf return_to_top_level;

volatile sig_atomic_t waiting_for_input;

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关内容
未处理完善
    无相关信息
未处理完善