signal_pending(current)

原创 2012年03月22日 12:34:04

signal_pending(current)

检查当前进程是否有信号处理,返回不为0表示有信号需要处理。
返回 -ERESTARTSYS 表示信号函数处理完毕后重新执行信号函数前的某个系统调用。也就是说,如果信号函数前有发生系统调用,在调度信号处理函数之前,内核会检查系统调用的返回值,看看是不是因为这个信号而中断了系统调用.

如果返回值-ERESTARTSYS,并且当前调度的信号具备-ERESTARTSYS属性,系统就会在用户信号函数返回之后再执行该系统调用。


eg:

while(1)

{

        if (signal_pending(current))
            break;

         ..................

         ..................

}

表示有信号处理,则退出

signal_pending函数解析

signal_pending函数解析 分类: Linux kernel2013-10-08 19:33 1775人阅读 评论(0) 收藏 举报 经常我们在睡眠的代码中 会看...

signal_pending函数解析

经常我们在睡眠的代码中 会看到这样的例子:     if (signal_pending(current)) {      ret = -ERESTARTSYS;      return ret...

linux signal 处理

源地址:http://blog.csdn.net/zhuixundelang/article/details/5979465 linuxsignal 处理   说明: 本文主要翻译自UL...
  • fz_ywj
  • fz_ywj
  • 2013年06月18日 22:13
  • 20714

解析:signal_pending与返回-ERESTARTSYS

经常我们在睡眠的代码中 会看到这样的例子:     if (signal_pending(current)) {      ret = -ERESTARTSYS;      retu...
  • vhghhd
  • vhghhd
  • 2011年10月09日 18:38
  • 2410

解析:signal_pending与返回-ERESTARTSYS .

经常我们在睡眠的代码中 会看到这样的例子:     if (signal_pending(current)) {      ret = -ERESTARTSYS;      retu...

signal_pending与返回-ERESTARTSYS

转自:http://blog.sina.com.cn/s/blog_5e99b41e0100rxii.html 经常我们在睡眠的代码中 会看到这样的例子:     if (signal...

Cluster中3个Nodes挂掉2个,恢复Recovery Pending的DB的方案探索(续)

在Cluster中3个Nodes挂掉2个,恢复Recovery Pending的DB的方案探索中,做过各种尝试,均不能直接在原有Server上恢复DB。后面把问题反馈给了MS,经过几次的尝试,目前已实...

使用C3P0-0.9.1.jar包的问题:APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

tomcat运行的好好的,老大说服务器挂了,你赶紧去看看。。。确实还是运行着,但报了错……小问题,重启一下tomcat呗,so...restart...C3P0-0.9.1.jar包的问题出现了:20...

信号屏蔽(pending)

本文主要简单介绍下linux下信号的阻塞,解除阻塞并递达。 先介绍下相关概念: 信号递达(Delivery):实际执行信号的处理动作 , 有3种状态: 1.忽略 2.执行默认操作(一般为终止...

hustoj的永久pending 与 永久Running & Judging解决

服务器环境:阿里云 hustoj的运行环境:debian 7.5.0 32位 安装时遇到一个问题install.sh脚本执行失败 解决:阿里云上的这个debian版本不支持 sudo命令,手动编...
  • huplion
  • huplion
  • 2015年10月04日 13:17
  • 2844
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:signal_pending(current)
举报原因:
原因补充:

(最多只允许输入30个字)