]> git.pond.sub.org Git - empserver/commitdiff
(loc_Ctrl_C_Handler,loc_Exit_Handler) [_WIN32]: Process other
authorRon Koenderink <rkoenderink@yahoo.ca>
Wed, 16 Mar 2005 02:39:51 +0000 (02:39 +0000)
committerRon Koenderink <rkoenderink@yahoo.ca>
Wed, 16 Mar 2005 02:39:51 +0000 (02:39 +0000)
exit methods in the same way as ctrl-c.  Change loc_Ctrl_C_Handler()
to loc_Exit_Handler() to reflect changed functionality.

src/lib/empthread/ntthread.c

index 41af885205c3b61257045d082fbaa7823ad304d2..a880e7198412210a4334d250ca6425177570ee93 100644 (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)\r
+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));