home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_09_03 / 9n03124d < prev    next >
Text File  |  1991-01-16  |  976b  |  49 lines

  1.  
  2. void
  3. init_trap()
  4. {
  5.     int i;
  6.  
  7.     for (i=0;i<NSIG;i++) {
  8.         signals[i].name = 0;
  9.     }
  10.  
  11.     /* defined by C standard */
  12.     signals[SIGABRT].name = "SIGABRT";
  13.     signals[SIGFPE ].name = "*SIGFPE";
  14.     /* "*" means reserved to us - see below */
  15.     signals[SIGILL ].name = "SIGILL";
  16.     signals[SIGINT ].name = "SIGINT";
  17.     signals[SIGSEGV].name = "SIGSEGV";
  18.     signals[SIGTERM].name = "SIGTERM";
  19.  
  20.     /* our own extension */
  21.     signals[0].name = "ONEXIT";
  22.  
  23.     /* nonstandard but common */
  24. #if defined(SIGHUP)        /* hangup */
  25.     signals[SIGHUP ].name = "SIGHUP";
  26. #endif
  27.  
  28. #if defined(SIGALRM)        /* alarm clock */
  29.     signals[SIGALRM].name = "SIGALRM";
  30. #endif
  31.  
  32. #if defined(SIGPWR)        /* imminent power failure */
  33.     signals[SIGPWR ].name = "SIGPWR";
  34. #endif
  35.  
  36. #if defined(SIGIO)        /* input/output signal */
  37.     signals[SIGIO  ].name = "SIGIO";
  38. #endif
  39.  
  40.     for (i=0;i<NSIG;i++) {
  41.         signals[i].action = 0;
  42.         signals[i].defaultX = signal(i,SIG_DFL);
  43.         signal(i,signals[i].defaultX);
  44.     }
  45. }
  46.  
  47.  
  48.  
  49.