X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fwin32%2FConsoleHandler.c;h=308b77bfcca410beb175833cb88952a7af3fdf79;hb=ee4d9a57ab125607e3029a8c1d052114956811f5;hp=d7096db632ee3f0488662d685c5d252e31e29e07;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/rts/win32/ConsoleHandler.c b/rts/win32/ConsoleHandler.c index d7096db..308b77b 100644 --- a/rts/win32/ConsoleHandler.c +++ b/rts/win32/ConsoleHandler.c @@ -46,6 +46,14 @@ initUserSignals(void) return; } +void +finiUserSignals(void) +{ + if (hConsoleEvent != INVALID_HANDLE_VALUE) { + CloseHandle(hConsoleEvent); + } +} + /* * Function: shutdown_handler() * @@ -180,10 +188,8 @@ void startSignalHandlers(Capability *cap) */ void markSignalHandlers (evac_fn evac) { - if (console_handler >= 0) { - StgPtr p = deRefStablePtr((StgStablePtr)console_handler); - evac((StgClosure**)(void *)&p); - } + // nothing to mark; the console handler is a StablePtr which is + // already treated as a root by the GC. }