下面程序的输出是什么?
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) ;
} 