summaryrefslogtreecommitdiff
path: root/ghc/rts
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2006-03-16 14:48:56 +0000
committerSimon Marlow <simonmar@microsoft.com>2006-03-16 14:48:56 +0000
commit86f2671b37507012692a53c2fe45357b0988cb40 (patch)
treeba3e3b97362dd255a1258c08151520038f113d4f /ghc/rts
parentf83d5d070a6fe9a45e4cb72eb81b3434bd5fc553 (diff)
downloadhaskell-86f2671b37507012692a53c2fe45357b0988cb40.tar.gz
fix up Win32 build
Diffstat (limited to 'ghc/rts')
-rw-r--r--ghc/rts/win32/AsyncIO.c2
-rw-r--r--ghc/rts/win32/ConsoleHandler.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/ghc/rts/win32/AsyncIO.c b/ghc/rts/win32/AsyncIO.c
index b8cbf286ad..7bcf571cf8 100644
--- a/ghc/rts/win32/AsyncIO.c
+++ b/ghc/rts/win32/AsyncIO.c
@@ -219,7 +219,7 @@ start:
if (completed_hw == 0) {
/* empty table, drop lock and wait */
LeaveCriticalSection(&queue_lock);
- if ( wait && !interrupted ) {
+ if ( wait && sched_state == SCHED_RUNNING ) {
DWORD dwRes = WaitForMultipleObjects(2, wait_handles, FALSE, INFINITE);
switch (dwRes) {
case WAIT_OBJECT_0:
diff --git a/ghc/rts/win32/ConsoleHandler.c b/ghc/rts/win32/ConsoleHandler.c
index 0a45e1238f..413e13cc27 100644
--- a/ghc/rts/win32/ConsoleHandler.c
+++ b/ghc/rts/win32/ConsoleHandler.c
@@ -70,7 +70,7 @@ static BOOL WINAPI shutdown_handler(DWORD dwCtrlType)
// If we're already trying to interrupt the RTS, terminate with
// extreme prejudice. So the first ^C tries to exit the program
// cleanly, and the second one just kills it.
- if (interrupted) {
+ if (sched_state >= SCHED_INTERRUPTING) {
stg_exit(EXIT_INTERRUPTED);
} else {
interruptStgRts();