next up previous
Next: Exemplo 2: Up: Emissão de um sinal Previous: Primitiva alarm()

Exemplo 1:

             /* 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 (CTRL­c para acabar)\n") ;
  for(;;) ;
}

Resultado da execução:

euler:~/> test_alarm
Fazendo alarm(5)
Valor retornado por alarm: 0
Principal em loop infinito (CTRL­c para acabar)
recepção do sinal 14 :SIGALRM



Celso Alberto Saibel Santos 2000-11-14