From 86f2671b37507012692a53c2fe45357b0988cb40 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Thu, 16 Mar 2006 14:48:56 +0000 Subject: [PATCH] fix up Win32 build --- ghc/rts/win32/AsyncIO.c | 2 +- ghc/rts/win32/ConsoleHandler.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ghc/rts/win32/AsyncIO.c b/ghc/rts/win32/AsyncIO.c index b8cbf28..7bcf571 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 0a45e12..413e13c 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(); -- 1.7.10.4