We only have access to the Windows PID, which (since Cygwin 3.0.0) are
completely decoupled from Cygwin PIDs.

Use the new '-W' flag to indicate to kill that we are providing a
Windows PID.

(If the Cygwin install is too old to support kill -W, kill will fail,
and we'll fall back to using TerminateProcess())

Signed-off-by: Jon Turney <jon.tur...@dronecode.org.uk>
---
 processlist.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/processlist.cc b/processlist.cc
index 70bc2d7..4e8518a 100644
--- a/processlist.cc
+++ b/processlist.cc
@@ -91,7 +91,7 @@ Process::kill (int force)
         break;
      }
 
-  std::string kill_cmd = backslash (cygpath ("/bin/kill.exe")) + " " + signame 
+ " " + stringify (processID);
+  std::string kill_cmd = backslash (cygpath ("/bin/kill.exe")) + " " + signame 
+ " -W " + stringify (processID);
   ::run (kill_cmd.c_str ());
 }
 
-- 
2.17.0

Reply via email to