home *** CD-ROM | disk | FTP | other *** search
/ ftp.disi.unige.it / 2015-02-11.ftp.disi.unige.it.tar / ftp.disi.unige.it / pub / .person / GianuzziV / SO1 / Ealarm.c < prev    next >
C/C++ Source or Header  |  2005-01-31  |  512b  |  35 lines

  1. /* Ealarm.c */
  2.  
  3. #include <stdio.h>
  4. #include <signal.h>
  5.  
  6. void wakeup();
  7. void cleanup();   /* signal procedure */
  8.  
  9. int counter = 0;
  10.  
  11. /* attivata ogni 3 secondi */
  12. void wakeup()
  13. {
  14.    system("date");
  15.    printf("valore del counter %d\n ",counter);
  16.    signal(SIGALRM, wakeup);
  17.    alarm(3);
  18. }
  19.  
  20. void cleanup()
  21. {
  22.    printf("Ricevuto abort: termina il processo.\n");
  23.    exit(0);
  24. }
  25.  
  26. void main()
  27. {
  28.    signal(SIGINT, cleanup);     /* ^C */
  29.    signal(SIGQUIT,cleanup);     /* ^\ */
  30.    wakeup();
  31.    while(1)
  32.      counter++;
  33. }
  34.  
  35.