HANDLE process_handle;\r
unsigned long pid;\r
HANDLE wait_handle;\r
+ unsigned long exitcode;\r
bool stopping;\r
bool allow_restart;\r
unsigned long throttle;\r
CRITICAL_SECTION throttle_section;\r
bool throttle_section_initialised;\r
+ CRITICAL_SECTION hook_section;\r
+ bool hook_section_initialised;\r
CONDITION_VARIABLE throttle_condition;\r
HANDLE throttle_timer;\r
LARGE_INTEGER throttle_duetime;\r
+ FILETIME nssm_creation_time;\r
FILETIME creation_time;\r
FILETIME exit_time;\r
TCHAR *initial_env;\r
+ unsigned long last_control;\r
+ unsigned long start_requested_count;\r
+ unsigned long start_count;\r
+ unsigned long exit_count;\r
} nssm_service_t;\r
\r
void WINAPI service_main(unsigned long, TCHAR **);\r
int stop_service(nssm_service_t *, unsigned long, bool, bool);\r
void CALLBACK end_service(void *, unsigned char);\r
void throttle_restart(nssm_service_t *);\r
-int await_service_status_change(nssm_service_t *, unsigned long, unsigned long, TCHAR *, unsigned long);\r
+int await_single_handle(SERVICE_STATUS_HANDLE, SERVICE_STATUS *, HANDLE, TCHAR *, TCHAR *, unsigned long);\r
\r
#endif\r