当前位置:  技术问答>linux和unix

关于被信号打断的函数的执行。

    来源: 互联网  发布时间:2017-03-19

    本文导语:  1。如果是用户函数,是否执行完信号处理函数后,又接着处理用户函数,好像完全没被打断过一样。而要重新执行的都是系统调用? 2。 关于系统调用,如果系统调用被打断后重新执行,是否被打断的那个调用可...

1。如果是用户函数,是否执行完信号处理函数后,又接着处理用户函数,好像完全没被打断过一样。而要重新执行的都是系统调用?



2。 关于系统调用,如果系统调用被打断后重新执行,是否被打断的那个调用可以像数据库事务一样回到调用之前的状态 ,不然的话malloc等函数里的系统调用被打断后,如果没回到以前的状态,那再执行这个系统调用应该就会出现类似于在信号处理函数里调用不可重入函数的情况吧

|
signal函数,是否重启被中断的系统调用由操作系统的具体实现决定,
sigaction函数,应用程序可以控制是否重启被中断的系统调用。

|
信号的执行是以软中断方式执行的。目前,大多数linux系统中,系统调用被信号打断之后,都是自动重启的而用户程序,则接受到信号后,默认是不重启的,也就是接受到信号之后,默认是停止用户函数。

|
Linux下我没有试验过,然是在FreeBSD和AIX5.3 上 SA_RESTART 确实起作用。

    
 
 

您可能感兴趣的文章:

  • linux中使用信号进行定时编程会不会引起打断不应该被打断的程序造成错误?
  • 求解信号阻塞后还能打断系统调用是为什么
  • 为什么信号量无法打断阻塞函数??
  • 信号处理函数里面用CRT函数可能导致"信号触发-处理"死循环吗?
  • 进入信号处理函数,是不是会自动把进入信号加入信号屏蔽字?还有sigpending
  • linux下类的成员函数不可以作为自定义的信号处理函数么?
  • linux的信号处理函数中如何访问共享资源
  • Linux,aix,windows下可以查询非本进程的信号处理函数吗?
  • 请教信号量处理函数signal的问题?
  • sigaction如何设置信号执行函数时屏蔽和屏蔽本身信号.
  • 内核进程间发送信号用哪个函数,如果没有这东西,那内核里异步通知用哪个东西
  • 当进程处于socket读阻塞模式中,外部SIGNAL发生,此时信号相应响应函数可否进行socket写?
  • 请问:signal(), sigaction()函数会不会使自已所有的进程挂起啊,(这样就等接收各种信号,进行一些处理工作啊)
  • c++中怎么写sigaction()中的信号处理函数
  • 关于系统信号处理函数signal()的疑问.
  • 对信号处理函数的迷惑!
  • QT为什么发送这个信号,没有进入keyPressEvent()函数呢。。
  • 问个线程安全和异步信号安全函数的问题
  • linux中信号signal函数实例遇到的疑问
  • socket编程中的函数send和recv如何被信号中断?
  • apue书的的信号函数,看不懂
  • 向sourceid提问,还是关于“在定时器到时后,应该发送什么信号让scanf()函数返回?”的
  • gtk+中,怎样为GtkList每一项添加信号回调函数,做成QQ好友列表的效果?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在执行信号处理程序来一个信号会怎么样?
  • alarm发闹铃信号,但只会执行一次.
  • 学习linux的新手问:linux进程信号掩码以及信号阻塞与信号未决怎么理解?
  • 关于信号量与UNIX信号的疑问
  • 生产者消费者问题为什么不可以共用一个信号量,如果这个信号量可以设置取值固定为0到N,即当信号量取值为N的时候阻塞进程,是否也可以?
  • linux下类的成员函数不可以作为自定义的信号处理函数么? iis7站长之家
  • 请问什么时候发出SIGKILL信号、什么时候发出SIGTERM信号?
  • 安全信号和不安全信号的实现机制有什么不同么?
  • 如何确定信号的来源?即如何知道接收到的信号来自于哪一个进程号?
  • 自旋锁和读写自旋锁、信号量和读写信号量分别有什么区别?
  • 关于消息队列信号量信号共享内存等核心编程的问题(求知若渴!!!.....)
  • 可靠信号和不可靠信号的问题
  • semaphore.h sem.c Posix 信号量 System v 信号量
  • 【求助】linux/Unix下创建子进程,向父进程发送信号,子进程也能收到改信号,此时如何让子进程不收到信号
  • 信号可靠还是不可靠,取决与信号本身还是signal()/sigaction()的区别?
  • 终端被关闭后,bash收到哪些信号,这些信号是怎么来的?
  • 书上说,中断用自旋锁,进程,用信号量,但是,为什么中断不能用信号量?
  • linux 中信号量的使用 当信号初始化的时候设置的值大于1将是如何?
  • 大侠们求指导,电信骨干网光纤信号分流成多个千兆网信号
  • 32号信号和33号信号哪里去拉?
  • 请问线程中的信号量,怎么设置成0,1信号量?
  • Linux下的信号忽略和信号阻塞是什么意思


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3