免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1571 | 回复: 0
打印 上一主题 下一主题

关于在miniGUI中使用定时器 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-01 15:50 |只看该作者 |倒序浏览
小弟现在使用miniGUI编程,想按一个按钮触发一个200毫秒的定时器,
执行函数roamfun()。使用setitimer函数,以及SIGALRM信号,程序如下。但我设的周期根本不起作用,系统以极快的频率在执行roamfun()。是不是miniGUI中已经用了该信号?
              struct itimerval tv;
              struct sigaction siga;
              tv.it_interval.tv_sec = 0;        
              tv.it_interval.tv_usec = 200;   
              tv.it_value.tv_sec = 0;
              tv.it_value.tv_usec = 200;
              siga.sa_handler = roamfun;
              siga.sa_flags  = 0;              
              memset (&siga.sa_mask, 0, sizeof(sigset_t));
              sigaction (SIGALRM, &siga, NULL);
              setitimer(ITIMER_REAL, &tv, NULL);
              while(1);

另外如果我用SIGPROF倒是可以,程序如下。但我不想用while(1)循环,我还想做别的事,请问该如何解决?

            sigaction (SIGPROF, &siga, NULL);
            setitimer(ITIMER_PROF, &tv, NULL);
            while(1);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP