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

无法阻塞信号的问题(附程序)

    来源: 互联网  发布时间:2016-05-30

    本文导语:  #include #include #include void myHandler(int sig); int main(int argc,char *argv[]) {     struct sigaction act, oact;         sigset_t oldmask;    act.sa_handler = myHandler;         sigfillset(&act.sa_mask);/////////////想用...

#include
#include
#include
void myHandler(int sig);
int main(int argc,char *argv[])

   struct sigaction act, oact;
        sigset_t oldmask;
   act.sa_handler = myHandler;
        sigfillset(&act.sa_mask);/////////////想用这行代码来阻塞SIGUSR1,但是不行,错在何处?请高手指教
   act.sa_flags = 0;
   sigaction(SIGUSR1, &act, &oact); 
    while (1) 

printf("Hello world.n"); 
pause();
}
  }

  void myHandler(int sig)
  {
    printf("I got signal: %d.n", sig);
  }

|
sigfillset(&act.sa_mask);
去掉看看,我记得sigaction缺省是阻塞的.

|
sigfillset(将所有信号加入至信号集) 
相关函数 sigempty,sigaddset,sigdelset,sigismember
 
表头文件 #include
 
定义函数 int sigfillset(sigset_t * set);
 
函数说明 sigfillset()用来将参数set信号集初始化,然后把所有的信号加入到此信号集里。
 
返回值 执行成功则返回0,如果有错误则返回-1。
 
附加说明 EFAULT 参数set指针地址无法存取
 
而真正阻塞的函数是signal()函数,它会阻塞到它等待的信号有回应才会进行相应的处理

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












  • 相关文章推荐
  • 串口应用程序,当对方发送大量的数据时,本方的数据无法发出。对方停止发送,本方的数据仍然无法发出。不知道是什么原因。
  • 在非GUI程序中,我用JOptionPane.showMessageDialog后,发现程序无法结束。why?
  • CGI程序无法访问本机某个程序创建的共享内存〔求教〕
  • 在程序建立的文件夹里,程序自己无法创建文件?
  • linux开机运行的程序无法输出
  • (救命啊)在linux下无法运行Perl程序
  • 为什么在redhat linux8中文下字处理程序中无法输入中文?
  • liunx 下编译程序bash无法找到
  • Linux9.2版本无法启动欢迎程序,SOS
  • suse linux 网络管理器小程序找不到所需的资源。无法继续。
  • 如何在redhat e4下用gcc编译socket程序,(-lsocket无法使用啊)!急,在线等
  • 程序在普通用户下执行,无法发送消息
  • XR11是什么东西,是不是没有它有些程序无法编译成功!
  • "OpenOffice.org Writer"应该程序无法打出中文汉字?
  • 为什么我的程序无法编译
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 程序编译后无法执行!!
  • unix下移植到windows的程序无法进行精确到usec的时间控制问题~
  • 编译好的程序无法运行
  • 为什么无法覆盖正在运行中的程序
  • andriod中UIScrollView无法正常滚动的解决方法
  • fedora14无法打开桌面,所有文件夹都无法打开。
  • linux系统无法启动出错,键盘无法输入
  • 请大家帮忙看看,编译内核后无法挂载root fs, 机器无法启动
  • ubuntu 安装失败后,xp也无法进入;连xp安装盘也无法安装
  • GCC无法安装的问题,希望有人帮我( Debian 4.04ra无法安装GCC)
  • Red hat 9.0 无法识别USB移动硬盘, 无法识别网卡和无线网卡,请问如何安装驱动?
  • 将Rethat内核从2.4升级到到2.6.12.3后,系统启动的时候无法挂载usb,启动后无法mount U盘。
  • GDM无法写入您的认证文件。这可能意味着您的硬盘没有空间,或者您的主目录无法以写方式打开
  • redhat7.2下无法安装Qt:变量QTDIR无法设置为/usr/local/qt
  • 无法启动。xp,opensuse双系统,suse中修改了系统启动顺序,机器无法启动了,提示no operating system


  • 站内导航:


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

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

    浙ICP备11055608号-3