Второй сигнал вызова в sighandler - зачем?

Недавно я нашел код, который используетsignal:

  286 static void sighandler( int signum )
  287 {   
  288     alarmed = 1;
  289     signal( signum, sighandler );
  290 }
  291 
  292 void set_alarm( int seconds )
  293 {
  294     alarmed = 0;
  295     signal( SIGALRM, sighandler );
  296     alarm( seconds );
  297 }

У меня есть некоторые проблемы, чтобы выяснить, почему мне нужно позвонитьsignal 2 раза, особенно, зачем мне звонитьsignal вsighandler? Я знаю, что делает приведенный выше код, но не понимаю, зачем мне звонитьsignal 2 раза.

Ответы на вопрос(3)

Ваш ответ на вопрос