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

关于sigprocmask和sigsuspend的问题

    来源: 互联网  发布时间:2016-09-26

    本文导语:  在APUE的第十章中,有下面一段代码,有个地方不太理解:     sigemptyset(&new_mask);     sigaddset(&new_mask,SIGQUIT);    //将信号SIGQUIT,添加到空信号集new_mask中     if(sigprocmask(SIG_BLOCK, &new_mask,&old_mask)) //把信号SIGQUIT...

在APUE的第十章中,有下面一段代码,有个地方不太理解:

    sigemptyset(&new_mask);
    sigaddset(&new_mask,SIGQUIT);    //将信号SIGQUIT,添加到空信号集new_mask中
    if(sigprocmask(SIG_BLOCK, &new_mask,&old_mask)) //把信号SIGQUIT给阻塞
    {
                printf("block signal SIGQUIT errorn");
    }

    sigemptyset(&zero_mask);    //清空信号集zero_mask

     while(quitflag == 0)
     {
             sigsuspend(&zero_mask); //将当前的信号掩码替换成空信号掩码zero_mask,等待SIGQUIT消息处理函数将quitflag置为1                                      
     }

      if(sigprocmask(SIG_SETMASK,&old_mask,NULL)

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


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

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

    浙ICP备11055608号-3