More fixes for NetBSD/vax
* src/sysdep.c (init_signals) [__vax__]: Treat SIGILL as a floating point error on VAXen. Otherwise, (log 0.0) crashes Emacs.
This commit is contained in:
parent
a2d4cd06f4
commit
b1bda8228e
1 changed files with 7 additions and 0 deletions
|
@ -2005,7 +2005,9 @@ init_signals (void)
|
||||||
signal (SIGPIPE, SIG_IGN);
|
signal (SIGPIPE, SIG_IGN);
|
||||||
|
|
||||||
sigaction (SIGQUIT, &process_fatal_action, 0);
|
sigaction (SIGQUIT, &process_fatal_action, 0);
|
||||||
|
#ifndef __vax__
|
||||||
sigaction (SIGILL, &thread_fatal_action, 0);
|
sigaction (SIGILL, &thread_fatal_action, 0);
|
||||||
|
#endif /* __vax__ */
|
||||||
sigaction (SIGTRAP, &thread_fatal_action, 0);
|
sigaction (SIGTRAP, &thread_fatal_action, 0);
|
||||||
|
|
||||||
/* Typically SIGFPE is thread-specific and is fatal, like SIGILL.
|
/* Typically SIGFPE is thread-specific and is fatal, like SIGILL.
|
||||||
|
@ -2018,6 +2020,11 @@ init_signals (void)
|
||||||
{
|
{
|
||||||
emacs_sigaction_init (&action, deliver_arith_signal);
|
emacs_sigaction_init (&action, deliver_arith_signal);
|
||||||
sigaction (SIGFPE, &action, 0);
|
sigaction (SIGFPE, &action, 0);
|
||||||
|
#ifdef __vax__
|
||||||
|
/* NetBSD/vax generates SIGILL upon some floating point errors,
|
||||||
|
such as taking the log of 0.0. */
|
||||||
|
sigaction (SIGILL, &action, 0);
|
||||||
|
#endif /* __vax__ */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SIGUSR1
|
#ifdef SIGUSR1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue