X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSignals.h;h=ffcac5562d04f6fead4b3253c7b05eca9e61dce4;hb=153b9cb9b11e05c4edb1b6bc0a7b972660e41f70;hp=cee39eecb8cf48611a0a8c745a1e6a7b163b007d;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/ghc/rts/Signals.h b/ghc/rts/Signals.h index cee39ee..ffcac55 100644 --- a/ghc/rts/Signals.h +++ b/ghc/rts/Signals.h @@ -1,27 +1,41 @@ /* ----------------------------------------------------------------------------- - * $Id: Signals.h,v 1.2 1998/12/02 13:28:47 simonm Exp $ + * + * (c) The GHC Team, 1998-1999 * * Signal processing / handling. * * ---------------------------------------------------------------------------*/ -#ifndef PAR +#if !defined(PAR) && !defined(mingw32_HOST_OS) +#define RTS_USER_SIGNALS 1 extern StgPtr pending_handler_buf[]; extern StgPtr *next_pending_handler; #define signals_pending() (next_pending_handler != pending_handler_buf) -extern void initUserSignals(void); -extern void blockUserSignals(void); -extern void unblockUserSignals(void); +extern void initUserSignals(void); +extern void blockUserSignals(void); +extern void unblockUserSignals(void); + +extern rtsBool anyUserHandlers(void); +extern void awaitUserSignals(void); /* sig_install declared in PrimOps.h */ -extern void start_signal_handlers(void); +extern void startSignalHandlers(void); +extern void markSignalHandlers (evac_fn evac); +extern void initDefaultHandlers(void); + +extern void handleSignalsInThisThread(void); +extern void handleSignalsInPrevThread(void); -#else +#elif defined(mingw32_HOST_OS) +#define RTS_USER_SIGNALS 1 +#include "win32/ConsoleHandler.h" +#else /* PAR */ #define signals_pending() (rtsFalse) +#define handleSignalsInThisThread() /* nothing */ #endif /* PAR */