You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2013/01/09 11:54:45 UTC

svn commit: r1430780 - /commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c

Author: mturk
Date: Wed Jan  9 10:54:45 2013
New Revision: 1430780

URL: http://svn.apache.org/viewvc?rev=1430780&view=rev
Log:
Make sure STOP and SHUTDOWN share the same code

Modified:
    commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c

Modified: commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c
URL: http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c?rev=1430780&r1=1430779&r2=1430780&view=diff
==============================================================================
--- commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c (original)
+++ commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c Wed Jan  9 10:54:45 2013
@@ -1295,12 +1295,14 @@ void WINAPI service_ctrl_handler(DWORD d
     HANDLE stopThread;
 
     switch (dwCtrlCode) {
+        case SERVICE_CONTROL_SHUTDOWN:
+            apxLogWrite(APXLOG_MARK_INFO "Service SHUTDOWN signaled");
         case SERVICE_CONTROL_STOP:
             reportServiceStatus(SERVICE_STOP_PENDING, NO_ERROR, 3000);
             /* Stop the service asynchronously */
             stopThread = CreateThread(NULL, 0,
                                       serviceStop,
-                                      (LPVOID)SERVICE_CONTROL_STOP,
+                                      (LPVOID)dwCtrlCode,
                                       0, &threadId);
 #if 0
             /* Seems we don't need to wait for the stop thread
@@ -1309,18 +1311,6 @@ void WINAPI service_ctrl_handler(DWORD d
             WaitForSingleObject(stopThread, INFINITE);
 #endif
             CloseHandle(stopThread);
-
-            return;
-        case SERVICE_CONTROL_SHUTDOWN:
-            apxLogWrite(APXLOG_MARK_INFO "Service SHUTDOWN signaled");
-            reportServiceStatus(SERVICE_STOP_PENDING, NO_ERROR, 3000);
-            /* Stop the service asynchronously */
-            stopThread = CreateThread(NULL, 0,
-                                      serviceStop,
-                                      (LPVOID)SERVICE_CONTROL_SHUTDOWN,
-                                      0, &threadId);
-            WaitForSingleObject(stopThread, INFINITE);
-            CloseHandle(stopThread);
             return;
         case SERVICE_CONTROL_INTERROGATE:
             reportServiceStatus(_service_status.dwCurrentState,