return ERESTARTSYS 作用

原创 2011年01月16日 14:24:00

 

ERESTARTSYS is a part of the api between the driver and the 
signal-handling code in the kernel. It does not reach user-space (provided 
of course that it's used appropriately in the drivers :) 

When a driver needs to wait, and get awoken by a signal (as opposed to 
what it's really waiting for) the driver should in most cases abort the 
system call so the signal handler can be run (like, you push ctrl-c while 
running somethinig that's stuck in a wait for an interrupt). The kernel 
uses the ERESTARTSYS as a "magic" value saying it's ok to restart the 
system call automagically after the signal handling is done. The actual 
return-code is switched to EINTR if the system call could not be 
restarted. 

 

当进程在内核里,信号到来时先运行信号处理函数,接着继续运行内核程序。

驱动程序里如下这样使用:wait_event_interruptible()使进程睡眠,如果进程是被信号唤醒,则先执行信号处理函数,再接着重新执行驱动程序。

 

 28          wait_event_interruptible(wq,flag);

 29         if(signal_pending(current))

 30         {

 31                 printk(KERN_ALERT "process %s is waked by signal/n");

 32                 return -ERESTARTSYS;

 33         }

 

 

 

应用程序测试如下,利用时钟信号。

 

  8   static void sig_alrm(int signo)

  9  {

 10         printf("alrm time is over/n");

 11 }

 

 16   if(signal(SIGALRM,sig_alrm) == SIG_ERR)

 17  {

 18         printf("initial alrm clock error/n");

 19  }

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

javascript中return的作用

这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事...

return返回值的作用

return 是函数返回值,返回函数运行得到的计算结果,main的返回值用于说明程序的退出状态,如果返回 0,则代表程序正常退出,否则代表程序异常退出。有些编译器在程序末尾没有return语句的时候会...

Java基础-return、break、continue在循环中的作用

return、break、continue是循环控制语句中常用的三个关键字,它们都有终止当前语句执行的作用,但又有很大的却别,以下是测试及分析结果。代码片段一:/** * 测试return在...

learn C++ NO.1 覆盖、重载、隐藏、引用、作用域标示符、return

1、函数的覆盖 例子: class animal {        ……        virtual void breathe()  &...

break、continue和return在编程中的作用

1、return 语句的作用       (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行       (2) return 返回一个值给调用...

JS中关于onSubmit中return的作用

在写表单处理的时候,经常会用到onSubmit事件,而onSu

break、continue和return在程序中的作用

1、return 语句的作用 (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行 (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明...
  • lmb55
  • lmb55
  • 2015-12-15 22:08
  • 411

js事件处理函数中return的作用

这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事...

js事件处理函数中return的作用

JS函数中常常遇到,return ,return true,return false,究竟什么意思呢?如果与onclick搭配呢,如果onclick与return搭配呢?下面详细说明:【1 】首先说明...

javascript中return的作用

javascript中return的作用 这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_o...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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