HANDLE process_handle = OpenProcess(PROCESS_QUERY_INFORMATION, false, pe->th32ProcessID);
if (! process_handle) {
char pid_string[16];
- _snprintf_s(pid_string, sizeof(pid_string), _TRUNCATE, "%d", pe->th32ProcessID);
+ _snprintf_s(pid_string, sizeof(pid_string), _TRUNCATE, "%lu", pe->th32ProcessID);
log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OPENPROCESS_FAILED, pid_string, service_name, error_string(GetLastError()), 0);
return 2;
}
if (! pid) return;
char pid_string[16], code[16];
- _snprintf_s(pid_string, sizeof(pid_string), _TRUNCATE, "%d", pid);
- _snprintf_s(code, sizeof(code), _TRUNCATE, "%d", exitcode);
+ _snprintf_s(pid_string, sizeof(pid_string), _TRUNCATE, "%lu", pid);
+ _snprintf_s(code, sizeof(code), _TRUNCATE, "%lu", exitcode);
log_event(EVENTLOG_INFORMATION_TYPE, NSSM_EVENT_KILLING, service_name, pid_string, code, 0);
/* Get a snapshot of all processes in the system. */
}
char ppid_string[16];
- _snprintf_s(ppid_string, sizeof(ppid_string), _TRUNCATE, "%d", ppid);
+ _snprintf_s(ppid_string, sizeof(ppid_string), _TRUNCATE, "%lu", ppid);
log_event(EVENTLOG_INFORMATION_TYPE, NSSM_EVENT_KILL_PROCESS_TREE, pid_string, ppid_string, service_name, 0);
if (! kill_process(service_name, stop_method, process_handle, pid, exitcode)) {
/* Maybe it already died. */
}\r
log_event(EVENTLOG_INFORMATION_TYPE, NSSM_EVENT_STARTED_SERVICE, exe, flags, service_name, dir, 0);\r
\r
- /* Monitor service service */\r
+ /* Monitor service */\r
if (! RegisterWaitForSingleObject(&wait_handle, process_handle, end_service, (void *) pid, INFINITE, WT_EXECUTEONLYONCE | WT_EXECUTELONGFUNCTION)) {\r
log_event(EVENTLOG_WARNING_TYPE, NSSM_EVENT_REGISTERWAITFORSINGLEOBJECT_FAILED, service_name, exe, error_string(GetLastError()), 0);\r
}\r
/* "0x" + 8 x hex + NULL */\r
text = (char *) HeapAlloc(GetProcessHeap(), 0, 11);\r
if (! text) {\r
- log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, "control code", "log_service_control", 0);\r
+ log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, "control code", "log_service_control()", 0);\r
return;\r
}\r
if (_snprintf_s(text, 11, _TRUNCATE, "0x%08x", control) < 0) {\r
- log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, "control code", "log_service_control", 0);\r
+ log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, "control code", "log_service_control()", 0);\r
HeapFree(GetProcessHeap(), 0, text);\r
return;\r
}\r
tree. See below for the possible values of the why argument.\r
*/\r
if (! why) {\r
- _snprintf_s(code, sizeof(code), _TRUNCATE, "%d", exitcode);\r
+ _snprintf_s(code, sizeof(code), _TRUNCATE, "%lu", exitcode);\r
log_event(EVENTLOG_INFORMATION_TYPE, NSSM_EVENT_ENDED_SERVICE, exe, service_name, code, 0);\r
}\r
\r
/* Clean up. */\r
+ if (exitcode == STILL_ACTIVE) exitcode = 0;\r
kill_process_tree(service_name, stop_method, pid, exitcode, pid, &creation_time, &exit_time);\r
\r
/*\r
if (throttle > 7) throttle = 8;\r
\r
char threshold[8], milliseconds[8];\r
- _snprintf_s(threshold, sizeof(threshold), _TRUNCATE, "%d", throttle_delay);\r
- _snprintf_s(milliseconds, sizeof(milliseconds), _TRUNCATE, "%d", ms);\r
+ _snprintf_s(threshold, sizeof(threshold), _TRUNCATE, "%lu", throttle_delay);\r
+ _snprintf_s(milliseconds, sizeof(milliseconds), _TRUNCATE, "%lu", ms);\r
log_event(EVENTLOG_WARNING_TYPE, NSSM_EVENT_THROTTLED, service_name, threshold, milliseconds, 0);\r
\r
if (use_critical_section) EnterCriticalSection(&throttle_section);\r