/* arquivo test_alarm.c */
/* testa os valores de retorno de alarm() */
/* assim que seu funcionamento */
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
void it_horloge(int sig) /* rotina executada na recepção de SIGALRM */
{ printf("recepção do sinal %d :SIGALRM\n",sig) ; }
main() {
unsigned sec ;
signal(SIGALRM,it_horloge) ; /* interceptação do sinal */
printf("Fazendo alarm(5)\n") ;
sec = alarm(5) ;
printf("Valor retornado por alarm: %d\n",sec) ;
printf("Principal em loop infinito (CTRLc para acabar)\n") ;
for(;;) ;
}
Resultado da execução:
euler:~/> test_alarm Fazendo alarm(5) Valor retornado por alarm: 0 Principal em loop infinito (CTRLc para acabar) recepção do sinal 14 :SIGALRM