Diff for /gforth/Attic/io.c between versions 1.4 and 1.5

version 1.4, 1994/07/08 15:00:45 version 1.5, 1994/07/12 11:30:58
Line 37 Line 37
   
 #define NEW_TTY_DRIVER  #define NEW_TTY_DRIVER
 #define HAVE_BSD_SIGNALS  #define HAVE_BSD_SIGNALS
   /*
 #ifndef DOMAINOS  #ifndef DOMAINOS
 #define USE_XON_XOFF  #define USE_XON_XOFF
 #endif  #endif
   */
   
   #define HANDLE_SIGNALS
   
 /* Some USG machines have BSD signal handling (sigblock, sigsetmask, etc.) */  /* Some USG machines have BSD signal handling (sigblock, sigsetmask, etc.) */
 #if defined (USG) && !defined (hpux)  #if defined (USG) && !defined (hpux)
Line 740  signal_throw(int sig) Line 744  signal_throw(int sig)
   longjmp(throw_jmp_buf,throw_codes[sig-1]); /* or use siglongjmp ? */    longjmp(throw_jmp_buf,throw_codes[sig-1]); /* or use siglongjmp ? */
 }  }
   
   static void
   termprep (int sig)
   {
     terminal_prepped=0; prep_terminal();
     signal(sig,termprep);
   }
   
 void  void
 install_signal_handlers (void)  install_signal_handlers (void)
 {  {
Line 751  install_signal_handlers (void) Line 762  install_signal_handlers (void)
                         SIGALRM,  SIGBUS                          SIGALRM,  SIGBUS
 #define SIGS_TO_QUIT    SIGHUP, SIGQUIT, SIGABRT, SIGPIPE, \  #define SIGS_TO_QUIT    SIGHUP, SIGQUIT, SIGABRT, SIGPIPE, \
                         SIGTERM                           SIGTERM 
   #define SIGS_TO_TERMPREP    SIGCONT
   
   static short sigs_to_ignore [] = { SIGS_TO_IGNORE };    static short sigs_to_ignore [] = { SIGS_TO_IGNORE };
   static short sigs_to_abort [] = { SIGS_TO_ABORT };    static short sigs_to_abort [] = { SIGS_TO_ABORT };
   static short sigs_to_quit [] = { SIGS_TO_QUIT };    static short sigs_to_quit [] = { SIGS_TO_QUIT };
     static short sigs_to_termprep [] = { SIGS_TO_TERMPREP };
   int i;    int i;
   
 #define DIM(X)          (sizeof (X) / sizeof *(X))  #define DIM(X)          (sizeof (X) / sizeof *(X))
Line 765  install_signal_handlers (void) Line 778  install_signal_handlers (void)
     signal (sigs_to_abort [i], signal_throw); /* !! change to throw */      signal (sigs_to_abort [i], signal_throw); /* !! change to throw */
   for (i = 0; i < DIM (sigs_to_quit); i++)    for (i = 0; i < DIM (sigs_to_quit); i++)
     signal (sigs_to_quit [i], graceful_exit);      signal (sigs_to_quit [i], graceful_exit);
     for (i = 0; i < DIM (sigs_to_termprep); i++)
       signal (sigs_to_termprep [i], termprep);
 }  }
 /* end signal handling */  /* end signal handling */

Removed from v.1.4  
changed lines
  Added in v.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>