X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSignals.h;h=ffcac5562d04f6fead4b3253c7b05eca9e61dce4;hb=fed0cc3f79f40987204258b9b62997a19e4d1afa;hp=0127ce583503d53f0ab21b89bc8ee1b7ee5df24b;hpb=1862438e1e29c4f4069d9ca43b25445078547faa;p=ghc-hetmet.git diff --git a/ghc/rts/Signals.h b/ghc/rts/Signals.h index 0127ce5..ffcac55 100644 --- a/ghc/rts/Signals.h +++ b/ghc/rts/Signals.h @@ -1,5 +1,4 @@ /* ----------------------------------------------------------------------------- - * $Id: Signals.h,v 1.4 1999/09/22 11:53:33 sof Exp $ * * (c) The GHC Team, 1998-1999 * @@ -7,25 +6,36 @@ * * ---------------------------------------------------------------------------*/ -#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 init_shutdown_handler(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 */