Try to build PDB files even for releases.
[nssm.git] / hook.cpp
index dc9e02f..abe4577 100644 (file)
--- a/hook.cpp
+++ b/hook.cpp
@@ -9,6 +9,9 @@ typedef struct {
   kill_t k;\r
 } hook_t;\r
 \r
+const TCHAR *hook_event_strings[] = { NSSM_HOOK_EVENT_START, NSSM_HOOK_EVENT_STOP, NSSM_HOOK_EVENT_EXIT, NSSM_HOOK_EVENT_POWER, NSSM_HOOK_EVENT_ROTATE, NULL };\r
+const TCHAR *hook_action_strings[] = { NSSM_HOOK_ACTION_PRE, NSSM_HOOK_ACTION_POST, NSSM_HOOK_ACTION_CHANGE, NSSM_HOOK_ACTION_RESUME, NULL };\r
+\r
 static unsigned long WINAPI await_hook(void *arg) {\r
   hook_t *hook = (hook_t *) arg;\r
   if (! hook) return NSSM_HOOK_STATUS_ERROR;\r
@@ -353,6 +356,7 @@ int nssm_hook(hook_thread_t *hook_threads, nssm_service_t *service, TCHAR *hook_
 #endif\r
   ret = NSSM_HOOK_STATUS_NOTRUN;\r
   if (CreateProcess(0, cmd, 0, 0, inherit_handles, flags, 0, service->dir, &si, &pi)) {\r
+    close_output_handles(&si);\r
     hook->name = (TCHAR *) HeapAlloc(GetProcessHeap(), 0, HOOK_NAME_LENGTH * sizeof(TCHAR));\r
     if (hook->name) _sntprintf_s(hook->name, HOOK_NAME_LENGTH, _TRUNCATE, _T("%s (%s/%s)"), service->name, hook_event, hook_action);\r
     hook->process_handle = pi.hProcess;\r