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

信号可靠还是不可靠,取决与信号本身还是signal()/sigaction()的区别?

    来源: 互联网  发布时间:2017-02-11

    本文导语:  1-31号信号,不支持排队,会丢失,所以是不可靠信号,即使用sigaction函数系列来处理也不行? 是不是说,"可靠"和"不可靠"是按照信号的数字来划分的,34-64是可靠信号。 可靠信号不论用signal函数来处理还是用sigaction...

1-31号信号,不支持排队,会丢失,所以是不可靠信号,即使用sigaction函数系列来处理也不行?

是不是说,"可靠"和"不可靠"是按照信号的数字来划分的,34-64是可靠信号。
可靠信号不论用signal函数来处理还是用sigaction来处理,都是"可靠的",不会丢失不会有什么问题?

但是为什么有很多人又说,可靠和不可靠的区分,不是在于信号本身,而是在于signal/sigaction的区别呢?

我很疑惑了,请指点指点我哈!

|
The SVR4 sigaction(2) manual page in AT&T [1990e] claims that the SA_SIGINFO flag (Figure 10.16) causes signals to be reliably queued. This is wrong. Apparently, this feature was partially implemented within the kernel, but it is not enabled in SVR4. Curiously, the SVID doesn't make the same claims of reliable queuing.
--摘自APUE

|
一般情况下信号都不会queue,这个和信号本身无关,和系统有关(是否支持 实时信号扩展)。
信号可靠与否应该是和处理方式有关的, 用 signal()处理的话, signal handler 返回后,这个信号的处理就被重置到默认状态,所以需要重新调用 signal()设置信号处理函数(signal handler);如果恰好信号在这个时间段发生,就会按照默认的方式处理,比如终止程序。 sigaction()则没有这个问题,用这个函数设置的信号处理函数会一直有效。
APUE对此有详细的描述。

    
 
 

您可能感兴趣的文章:

  • 可靠信号和不可靠信号的问题
  • UNIX下信号,管道是可靠的吗?还有什么是可靠的
  • linux下面的信号都已经是"可靠信号"了吗,已经没有了不可靠信号?
  • *** 求助!!! 关于(可靠)信号处理的问题 ***
  • 关于不可靠信号的问题,照抄书上的程序,结果却和它说得不一样
  • SIGRTMIN-SIGRTMAX的信号,是OS产生的,还是用户程序产生的?
  • GTK+问题:delete_event到底是信号还是事件?
  • 进程数据同步:消息队列还是共享内存+信号
  • 向sourceid提问,还是关于“在定时器到时后,应该发送什么信号让scanf()函数返回?”的
  • 还是不懂,驱动到底如何能同步的发送信号给用户程序,请教高人,谢谢了
  • 还是有一个信号的问题等待求助
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












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


  • 站内导航:


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

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

    浙ICP备11055608号-3