X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fwin32%2FTicker.c;fp=rts%2Fwin32%2FTicker.c;h=7701a3b2755c0b53e7b4a8b296dcb2539cc1ecb5;hb=e5d7f9c6013d1be616fa7a54e34e9ae9bac30218;hp=9fa40ebe52abf6c42db82a5e96367ccf85d56f05;hpb=58546748b9659f59dfdc3a917b1b64ceacc5496d;p=ghc-hetmet.git diff --git a/rts/win32/Ticker.c b/rts/win32/Ticker.c index 9fa40eb..7701a3b 100644 --- a/rts/win32/Ticker.c +++ b/rts/win32/Ticker.c @@ -54,6 +54,7 @@ TimerProc(PVOID param) /* event has become signalled */ tickProc = NULL; CloseHandle(hStopEvent); + hStopEvent = INVALID_HANDLE_VALUE; return 0; case WAIT_TIMEOUT: /* tick */ @@ -115,7 +116,10 @@ stopTicker(void) } if (exitCode != STILL_ACTIVE) { tickThread = INVALID_HANDLE_VALUE; - CloseHandle(hStopEvent); + if ( hStopEvent != INVALID_HANDLE_VALUE ) { + CloseHandle(hStopEvent); + hStopEvent = INVALID_HANDLE_VALUE; + } return 0; } TerminateThread(tickThread, 0);