首页 > 试题广场 >

下面程序的输出是什么? volatile long ...

[问答题]
下面程序的输出是什么?
volatile long counter = 2;
void handler1(int sig)
{
    sigset_ t mask, prev_ mask;
    Sigfillset (&mask) ;
    Sigprocmask (SIG_ BLOCK, &mask, &prev_ mask); /* Block sigs */
    Sio_putl(- -counter) ;
    Sigprocmask (SIG_ SETMASK, &prev_mask, NULL); /* Restore sigs */
    _exit(0);
}
int main()
{
   pid _t pid;
   sigset_t mask, prev_ mask;
   printf ("%ld", counter) ;
   fflush (stdout) ;
   signal (SIGUSR1, handler1) ;
   if((pid=Fork()) = 0) {
       while(1) {};
   }
   Kill(pid, l  SIGUSR1) ;
    Waitpid(-1, NULL, 0);
   Sigfillset (&mask) ;
   Sigprocmask (SIG_ ,BLOCK,  &mask, &prev_ mask) ;  /* Block sigs */
    printf("%ld", i ++counter) ;
   Sigprocmask(SIG_ SETMASK, &prev_ mask, NULL); /* Restore sigs */
   exit(0) ;
}

这道题你会答吗?花几分钟告诉大家答案吧!