Diff for /gforth/engine/signals.c between versions 1.5 and 1.9

version 1.5, 2000/07/20 13:29:43 version 1.9, 2000/07/21 09:25:27
Line 47 Line 47
 UCell cols=DEFAULTCOLS;  UCell cols=DEFAULTCOLS;
 UCell rows=DEFAULTROWS;  UCell rows=DEFAULTROWS;
   
   #ifndef SA_NODEFER
   #define SA_NODEFER 0
   /* systems that don't have SA_NODEFER hopefully don't block anyway */
   #endif
   
 #ifdef SA_SIGINFO  #ifdef SA_SIGINFO
 void install_signal_handler(int sig, void (*handler)(int, siginfo_t *, void *))  void install_signal_handler(int sig, void (*handler)(int, siginfo_t *, void *))
      /* installs three-argument signal handler for sig */       /* installs three-argument signal handler for sig */
Line 55  void install_signal_handler(int sig, voi Line 60  void install_signal_handler(int sig, voi
   
   action.sa_sigaction=handler;    action.sa_sigaction=handler;
   sigemptyset(&action.sa_mask);    sigemptyset(&action.sa_mask);
   action.sa_flags=SA_RESTART|SA_SIGINFO; /* pass siginfo */    action.sa_flags=SA_RESTART|SA_NODEFER|SA_SIGINFO; /* pass siginfo */
   sigaction(sig, &action, NULL);    sigaction(sig, &action, NULL);
 }  }
 #endif  #endif
Line 158  static void segv_handler(int sig, siginf Line 163  static void segv_handler(int sig, siginf
 #endif /* defined(SA_SIGINFO) */  #endif /* defined(SA_SIGINFO) */
   
 #ifdef SIGCONT  #ifdef SIGCONT
 static void termprep (int sig)  static void termprep(int sig)
 {  {
   bsd_signal(sig,termprep);    bsd_signal(sig,termprep);
   terminal_prepped=0;    terminal_prepped=0;

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


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