Chinaunix首页 | 论坛 | 博客
  • 博客访问: 861395
  • 博文数量: 133
  • 博客积分: 7117
  • 博客等级: 少将
  • 技术积分: 1846
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-16 21:30
文章分类

全部博文(133)

文章存档

2012年(1)

2011年(4)

2010年(2)

2009年(57)

2008年(69)

分类: LINUX

2009-02-09 10:10:03

signal_pending(current)

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

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

阅读(3166) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-16 22:29:37

有点不明白,返回值-ERESTARTSYS,指的是调用signal_pending的接口(比如wait_event_interrruptible())还是signal_pending本身呢?

jiangsheng842010-07-08 09:44:02

谢谢,学习了!

wuyunzdh2009-11-03 14:04:33

谢谢

chinaunix网友2009-03-31 15:43:37

谢谢! winglong@163.com