From 090c14b6e359cc1d3fa415effe327385bdbe8f35 Mon Sep 17 00:00:00 2001 From: manojampalam Date: Mon, 28 Mar 2016 22:49:54 -0700 Subject: [PATCH] kill() child processes --- contrib/win32/win32compat/signal.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/contrib/win32/win32compat/signal.c b/contrib/win32/win32compat/signal.c index fdc4a83..8626d69 100644 --- a/contrib/win32/win32compat/signal.c +++ b/contrib/win32/win32compat/signal.c @@ -158,12 +158,21 @@ sw_raise(int sig) { int sw_kill(int pid, int sig) { - + int child_index, i; if (pid == GetCurrentProcessId()) return sw_raise(sig); /* for child processes - only SIGTERM supported*/ /* TODO implement kill(SIGTERM) for child processes */ + child_index = -1; + for (i = 0; i < children.num_children; i++) + if (children.process_id[i] == pid) { + child_index = i; + break; + } + + if (child_index != -1) + TerminateProcess(children.handles[child_index], 0); return 0; }