projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-01-28 12:55:17 by simonmar]
[ghc-hetmet.git]
/
ghc
/
rts
/
Signals.h
diff --git
a/ghc/rts/Signals.h
b/ghc/rts/Signals.h
index
cee39ee
..
ffcac55
100644
(file)
--- 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.
*
* ---------------------------------------------------------------------------*/
*
* 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 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 */
/* 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 signals_pending() (rtsFalse)
+#define handleSignalsInThisThread() /* nothing */
#endif /* PAR */
#endif /* PAR */