}
}
+void resetDefaultHandlers(void)
+{
+ if ( !SetConsoleCtrlHandler(shutdown_handler, FALSE) ) {
+ errorBelch("warning: failed to uninstall default console handler");
+ }
+}
/*
* Function: blockUserSignals()
* Evacuate the handler stack. _Assumes_ that console event delivery
* has already been blocked.
*/
-void markSignalHandlers (evac_fn evac STG_UNUSED)
+void markSignalHandlers (evac_fn evac STG_UNUSED, void *user STG_UNUSED)
{
// nothing to mark; the console handler is a StablePtr which is
// already treated as a root by the GC.
stg_pending_buf[stg_pending_events] = dwCtrlType;
stg_pending_events++;
}
+
+ // we need to wake up awaitEvent()
+ abandonRequestWait();
#endif
return TRUE;
}