/* 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