/* -----------------------------------------------------------------------------
- * $Id: Signals.c,v 1.37 2003/04/01 15:05:22 sof Exp $
+ * $Id: Signals.c,v 1.42 2004/09/03 15:28:53 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
#include "Signals.h"
#include "RtsUtils.h"
#include "RtsFlags.h"
-#include "StablePriv.h"
#ifdef alpha_TARGET_ARCH
-# include <machine/fpu.h>
+# if defined(linux_TARGET_OS)
+# include <asm/fpu.h>
+# else
+# include <machine/fpu.h>
+# endif
#endif
#ifdef HAVE_UNISTD_H
// stack full?
if (next_pending_handler == &pending_handler_buf[N_PENDING_HANDLERS]) {
- prog_belch("too many pending signals");
+ errorBelch("too many pending signals");
stg_exit(EXIT_FAILURE);
}
}
return STG_SIG_ERR;
}
-
+
if (previous_spi == STG_SIG_DFL || previous_spi == STG_SIG_IGN
|| previous_spi == STG_SIG_ERR) {
return previous_spi;
sigemptyset(&action.sa_mask);
action.sa_flags = 0;
if (sigaction(SIGINT, &action, &oact) != 0) {
- prog_belch("warning: failed to install SIGINT handler");
+ errorBelch("warning: failed to install SIGINT handler");
}
-#ifndef cygwin32_TARGET_OS
+#if defined(HAVE_SIGINTERRUPT)
siginterrupt(SIGINT, 1); // isn't this the default? --SDM
#endif
sigemptyset(&action.sa_mask);
action.sa_flags = 0;
if (sigaction(SIGCONT, &action, &oact) != 0) {
- prog_belch("warning: failed to install SIGCONT handler");
+ errorBelch("warning: failed to install SIGCONT handler");
}
// install the SIGFPE handler
sigemptyset(&action.sa_mask);
action.sa_flags = 0;
if (sigaction(SIGFPE, &action, &oact) != 0) {
- prog_belch("warning: failed to install SIGFPE handler");
+ errorBelch("warning: failed to install SIGFPE handler");
}
#endif