(loc_Ctrl_C_Handler,loc_Exit_Handler) [_WIN32]: Process other

exit methods in the same way as ctrl-c.  Change loc_Ctrl_C_Handler()
to loc_Exit_Handler() to reflect changed functionality.
This commit is contained in:
Ron Koenderink 2005-03-16 02:39:51 +00:00
parent 1af2a6fc8b
commit c38a64d3a9

View file

@ -286,28 +286,27 @@ loc_SleepThisThread(unsigned long ulMillisecs)
/************************
* loc_Ctrl_C_Handler
* loc_Exit_Handler
*
* Ctrl-C will initiate a shutdown. This is done by calling
* empth_request_shutdown()
* Ctrl-C, Ctrl-Break, Window-Closure, User-Logging-Off or
* System-Shutdown will initiate a shutdown.
* This is done by calling empth_request_shutdown()
*/
static BOOL
loc_Ctrl_C_Handler(DWORD fdwCtrlType)
loc_Exit_Handler(DWORD fdwCtrlType)
{
switch (fdwCtrlType)
{
// Handle the CTRL+C signal.
case CTRL_C_EVENT:
empth_request_shutdown();
return TRUE;
case CTRL_CLOSE_EVENT:
case CTRL_BREAK_EVENT:
case CTRL_LOGOFF_EVENT:
case CTRL_SHUTDOWN_EVENT:
default:
return FALSE;
}
empth_request_shutdown();
return TRUE;
default:
return FALSE;
}
}
/************************
@ -317,7 +316,7 @@ loc_Ctrl_C_Handler(DWORD fdwCtrlType)
* This is done by signalling hShutdownEvent.
*/
void
empth_request_shutdown(void)
empth_request_shutdown(void)
{
SetEvent(loc_GVAR.hShutdownEvent);
}
@ -419,7 +418,7 @@ empth_init(char **ctx_ptr, int flags)
logerror("Failed to create shutdown event %d", GetLastError());
return 0;
}
SetConsoleCtrlHandler((PHANDLER_ROUTINE)loc_Ctrl_C_Handler, TRUE);
SetConsoleCtrlHandler((PHANDLER_ROUTINE)loc_Exit_Handler, TRUE);
/* Create the global Thread context. */
pThread = (loc_Thread_t *)malloc(sizeof(*pThread));