home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume17 / e2 / part01 / signal.c < prev    next >
C/C++ Source or Header  |  1989-02-08  |  495b  |  36 lines

  1. #include "e.h"
  2.  
  3. /*
  4.  * clean_up()
  5.  *
  6.  * This is where we come when we get a SIGINT.
  7.  *
  8.  */
  9. int
  10. clean_up()
  11. {
  12.     /*
  13.      * Just get out after making sure things are tidy.
  14.      *
  15.      */
  16.     e_error("\nInterrupt.");
  17. }
  18.  
  19.  
  20. /*
  21.  * catch_signals()
  22.  *
  23.  * Arrange for SIGINT to be dealt with by clean_up().
  24.  *
  25.  */
  26. void
  27. catch_signals()
  28. {
  29.     if (signal(SIGINT, SIG_IGN) != SIG_IGN){
  30.         if (signal(SIGINT, clean_up) == (int (*)())-1){
  31.             e_error("Signal fails!");
  32.         }
  33.     }
  34.     return;
  35. }
  36.