[ADVAPI32] Stop the service dispatcher thread only if a SERVICE_CONTROL_STOP command...
[reactos.git] / 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;
         }