Jelajahi Sumber

Delay report that the service is running.

Wait until the application has been running for long enough to be exempt
from restart throttling before reporting a status of SERVICE_RUNNING to
the operating system.

Thanks Tom Saul.
Iain Patterson 10 tahun lalu
induk
melakukan
c50225935f
1 mengubah file dengan 3 tambahan dan 3 penghapusan
  1. 3 3
      service.cpp

+ 3 - 3
service.cpp

@@ -404,13 +404,13 @@ int start_service() {
 
   close_output_handles(&si);
 
+  /* Wait for a clean startup. */
+  if (WaitForSingleObject(process_handle, throttle_delay) == WAIT_TIMEOUT) throttle = 0;
+
   /* Signal successful start */
   service_status.dwCurrentState = SERVICE_RUNNING;
   SetServiceStatus(service_handle, &service_status);
 
-  /* Wait for a clean startup. */
-  if (WaitForSingleObject(process_handle, throttle_delay) == WAIT_TIMEOUT) throttle = 0;
-
   return 0;
 }