[ADVAPI32] Stop the service dispatcher thread only if a SERVICE_CONTROL_STOP command...
authorEric Kohl <eric.kohl@reactos.org>
Sun, 29 Jul 2018 21:19:14 +0000 (23:19 +0200)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 29 Jul 2018 21:40:36 +0000 (23:40 +0200)
dll/win32/advapi32/service/sctrl.c

index 8b28b2b..f4a7aa8 100644 (file)
@@ -602,9 +602,10 @@ ScServiceDispatcher(HANDLE hPipe,
         lpServiceName = (LPWSTR)((PBYTE)ControlPacket + ControlPacket->dwServiceNameOffset);
         TRACE("Service: %S\n", lpServiceName);
 
-        if (lpServiceName[0] == UNICODE_NULL)
+        if ((ControlPacket->dwControl == SERVICE_CONTROL_STOP) &&
+            (lpServiceName[0] == UNICODE_NULL))
         {
-            ERR("Stop dispatcher thread\n");
+            TRACE("Stop dispatcher thread\n");
             bRunning = FALSE;
             dwError = ERROR_SUCCESS;
         }