#include <config.h>
-#include <signal.h>
#include <stdio.h>
#include <setjmp.h>
static _Noreturn void
handle_arith_signal (int sig)
{
- sigsetmask (SIGEMPTYMASK);
+ pthread_sigmask (SIG_SETMASK, &empty_mask, 0);
xsignal0 (Qarith_error);
}
void
init_data (void)
{
+ struct sigaction action;
/* Don't do this if just dumping out.
We don't want to call `signal' in this case
so that we don't have trouble with dumping
if (!initialized)
return;
#endif /* CANNOT_DUMP */
- signal (SIGFPE, deliver_arith_signal);
+ emacs_sigaction_init (&action, deliver_arith_signal);
+ sigaction (SIGFPE, &action, 0);
}