Chinaunix首页 | 论坛 | 博客
  • 博客访问: 28013
  • 博文数量: 8
  • 博客积分: 2099
  • 博客等级: 大尉
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-04 14:23
文章分类

全部博文(8)

文章存档

2010年(4)

2009年(4)

我的朋友

分类: LINUX

2010-05-09 17:20:07

 
static g = 0;
void ttt(int no, siginfo_t *info, void * ctx)
{
        printf("%d\n", g++);
        int i;
        for(i=0; i<100000000; i++)
                ;
}
int main()
{
        struct sigaction siga = {0};

        siga.sa_sigaction = ttt;
        siga.sa_flags |= SA_SIGINFO;
        sigaction(SIGINT, &siga, NULL);

        while(1)
        {
                sleep(1);
        }
}


运行后,在终端不断的Ctrl+C,运行结果如下:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
...


22竟然没有打印。。


加上我的测试环境:
Linux 2.6.18-164.el5 #1 SMP x86_64 GNU/Linux
SecureCRT(Version 6.1.2 (build 409)) 通过SSH2远程TCP连接
阅读(909) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~