Ignore INTERROGATE control.
authorIain Patterson <me@iain.cx>
Mon, 3 Dec 2012 18:13:02 +0000 (10:13 -0800)
committerIain Patterson <me@iain.cx>
Mon, 3 Dec 2012 18:25:59 +0000 (13:25 -0500)
NSSM periodically logs that it received an unhandled INTERROGATE
control.  The control is sent by the system to request an update of the
service's status but NSSM always keeps the status up-to-date so no
action is needed on receipt of the control.

Rather than fill the logs with instances of such a message, NSSM will
now simply ignore the INTERROGATE control silently.

ChangeLog.txt
service.cpp

index 26ed909..525a3d8 100644 (file)
@@ -1,3 +1,7 @@
+Changes since 2.16
+-----------------
+  * Silently ignore INTERROGATE control.
+
 Changes since 2.15
 -----------------
   * Fixed case where NSSM could kill unrelated processes when
index 81e46ef..d4d023b 100644 (file)
@@ -319,6 +319,10 @@ void log_service_control(char *service_name, unsigned long control, bool handled
 /* Service control handler */\r
 unsigned long WINAPI service_control_handler(unsigned long control, unsigned long event, void *data, void *context) {\r
   switch (control) {\r
+    case SERVICE_CONTROL_INTERROGATE:\r
+      /* We always keep the service status up-to-date so this is a no-op. */\r
+      return NO_ERROR;\r
+\r
     case SERVICE_CONTROL_SHUTDOWN:\r
     case SERVICE_CONTROL_STOP:\r
       log_service_control(service_name, control, true);\r