/* Try to send a Control-C event to the console. */
if (service->stop_method & NSSM_STOP_METHOD_CONSOLE) {
- if (! kill_console(service)) return 1;
+ if (! kill_console(service, &k)) return 1;
}
/*
}
/* Simulate a Control-C event to our console (shared with the app). */
-int kill_console(nssm_service_t *service) {
+int kill_console(nssm_service_t *service, kill_t *k) {
unsigned long ret;
if (! service) return 1;
if (! imports.AttachConsole) return 4;
/* Try to attach to the process's console. */
- if (! imports.AttachConsole(service->pid)) {
+ if (! imports.AttachConsole(k->pid)) {
ret = GetLastError();
switch (ret) {
int check_parent(TCHAR *, PROCESSENTRY32 *, unsigned long, FILETIME *, FILETIME *);
int CALLBACK kill_window(HWND, LPARAM);
int kill_threads(nssm_service_t *, kill_t *);
-int kill_console(nssm_service_t *);
+int kill_console(nssm_service_t *, kill_t *);
int kill_process(nssm_service_t *, HANDLE, unsigned long, unsigned long);
void kill_process_tree(nssm_service_t *, unsigned long, unsigned long, unsigned long);