pause函数的执行问题
夜醉长安 2006-12-02 05:43:44 小弟学习linux编程,C语言的,写了一个程序,对pause函数的执行有点疑惑,请大虾指教。谢谢:)
int main()
{
sigset_t newset;
int i=0;
printf("%d",i);
if((sigemptyset(&newset))<0)
perror("emptyset");
if((sigaddset(&newset,SIGTERM))<0)
perror("addset:SIGTERM");
if((sigaddset(&newset,SIGALRM))<0)
perror("addset:SIGALRM");
printf("%d",i);
if((sigprocmask(SIG_BLOCK,&newset,NULL))<0)
perror("sigprocmask");
i=pause();
printf("%d",i);
exit(EXIT_SUCCESS);
}
为什么他的printf函数没有执行,这句没有执行,那么sigemptyset等函数是什么时候执行的?(这几个信号的函数是肯定执行了的)个人感觉他们应该在printf函数后面执行的。