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

alarm的问题

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

    本文导语:  #include  #include  #include  #include  #include  #include  #include  void sig_alrm(int signo) { printf("enter alrm %dn",signo); } void *th_fun(void *arg) { printf("enter threadn"); if(signal(SIGALRM,sig_alrm) == SIG_ERR) { printf("sig errorn"); } printf("enter alarmn"); ...

#include 
#include 
#include 
#include 
#include 
#include 
#include 
void sig_alrm(int signo)
{
printf("enter alrm %dn",signo);
}
void *th_fun(void *arg)
{
printf("enter threadn");
if(signal(SIGALRM,sig_alrm) == SIG_ERR) {
printf("sig errorn");
}
printf("enter alarmn");
alarm(5);
printf("out alarmn");
pause();
printf("out pausen");
return NULL;
}
void test()
{
pthread_t tid;
int err;
err = pthread_create(&tid, NULL, th_fun, NULL);
if(err  0) {
if(waitpid(pid,NULL,0) != pid) {
printf("waitpid errorn");
}
}
sleep(20);
return 0;
}


编译及运行结果:
[root@localhost signaltest]# g++ -lpthread alarm.cpp 
[root@localhost signaltest]# ./a.out 
enter thread
enter alarm
out alarm
test mode:
enter alrm 14
[root@localhost signaltest]# 

没有走创建线程的进入sig_alrm的打印信息,
没有走线程的pause
请问一下,为什么?谢谢

|
你的内核版本是多少?

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












  • 相关文章推荐
  • larm 时间已经过期(alarm<jiffies)是什么意思?
  • 编程技术其它 iis7站长之家
  • 简易定时闹铃工具 Alarm Clock
  • 用alarm和pause来实现sleep:分不够可在加
  • 这个程序为什么 alarm 不起作用?
  • 我想找到alarm.c这个文件 但不知道怎么查找
  • 需要几分钟或半个小时或一个小时执行,定时用alarm还是sleep好?
  • aupe中关于alarm的困惑
  • socket tcp 关于 alarm() 和 recv() ?
  • 如何用alarm实现每隔一段时间显示不同的内容?
  • alarm中关闭了socketfd,但是recvfrom无法知道
  • 请问为什么alarm失去作用?
  • alarm发闹铃信号,但只会执行一次.
  • 为什么msgrcv和 ALARM不能共同调用?急在线等。。。
  • 关于 signal alarm pause
  • 为什么我在alarm信号里设置信号屏蔽就不好用呢,求解答
  • 如何用系统调用实现每秒钟显示一次系统时钟,可以用getitimer,setitimer,alarm?
  • 定时器编程,alarm clock
  • alarm的响应线程是谁?


  • 站内导航:


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

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

    浙ICP备11055608号-3