当前位置: 技术问答>linux和unix
Linux菜鸟提问了(急)
来源: 互联网 发布时间:2015-11-23
本文导语: 以下程序是不可靠信号处理的经典例子之一,哪位能告诉我有这个程序有哪些问题和错误? int sig_int_flag; /* set nonzero when signal occurs */ 2 3 int 4 main( int argc, char **argv ) 5 { 6 int sig_i...
以下程序是不可靠信号处理的经典例子之一,哪位能告诉我有这个程序有哪些问题和错误?
int sig_int_flag; /* set nonzero when signal occurs */
2
3 int
4 main( int argc, char **argv )
5 {
6 int sig_int();
7
8 signal( SIGINT, sig_int );
9
10 while ( sig_int_flag == 0 )
11 pause(); /* waiting for a incoming signal */
12 ...
13 }
14
15 void
16 sig_int( int signum )
17 {
18 signal( SIGINT, sig_int );
19 sig_int_flag = 1;
20 }
int sig_int_flag; /* set nonzero when signal occurs */
2
3 int
4 main( int argc, char **argv )
5 {
6 int sig_int();
7
8 signal( SIGINT, sig_int );
9
10 while ( sig_int_flag == 0 )
11 pause(); /* waiting for a incoming signal */
12 ...
13 }
14
15 void
16 sig_int( int signum )
17 {
18 signal( SIGINT, sig_int );
19 sig_int_flag = 1;
20 }
|
用signal来进行信号处理,有时会丢失信号,所以现在都用sigaction来注册信号处理函数