Pārlūkot izejas kodu

Merge branch 'upstream-KWSys' into update-kwsys

* upstream-KWSys:
  KWSys 2017-11-02 (54f0901a)
Brad King 8 gadi atpakaļ
vecāks
revīzija
3048777006

+ 8 - 0
Source/kwsys/Process.h.in

@@ -77,6 +77,7 @@
 #define kwsysProcess_WaitForExit kwsys_ns(Process_WaitForExit)
 #define kwsysProcess_Interrupt kwsys_ns(Process_Interrupt)
 #define kwsysProcess_Kill kwsys_ns(Process_Kill)
+#define kwsysProcess_KillPID kwsys_ns(Process_KillPID)
 #define kwsysProcess_ResetStartTime kwsys_ns(Process_ResetStartTime)
 #endif
 
@@ -456,6 +457,13 @@ kwsysEXPORT void kwsysProcess_Interrupt(kwsysProcess* cp);
  */
 kwsysEXPORT void kwsysProcess_Kill(kwsysProcess* cp);
 
+/**
+ * Same as kwsysProcess_Kill using process ID to locate process to
+ * terminate.
+ * @see kwsysProcess_Kill(kwsysProcess* cp)
+ */
+kwsysEXPORT void kwsysProcess_KillPID(unsigned long);
+
 /**
  * Reset the start time of the child process to the current time.
  */

+ 5 - 0
Source/kwsys/ProcessUNIX.c

@@ -2485,6 +2485,11 @@ static pid_t kwsysProcessFork(kwsysProcess* cp,
 #define KWSYSPE_PS_FORMAT "%d %d %*[^\n]\n"
 #endif
 
+void kwsysProcess_KillPID(unsigned long process_id)
+{
+  kwsysProcessKill((pid_t)process_id);
+}
+
 static void kwsysProcessKill(pid_t process_id)
 {
 #if defined(__linux__) || defined(__CYGWIN__)

+ 5 - 0
Source/kwsys/ProcessWin32.c

@@ -1466,6 +1466,11 @@ void kwsysProcess_Kill(kwsysProcess* cp)
      for them to exit.  */
 }
 
+void kwsysProcess_KillPID(unsigned long process_id)
+{
+  kwsysProcessKillTree((DWORD)process_id);
+}
+
 /*
   Function executed for each pipe's thread.  Argument is a pointer to
   the kwsysProcessPipeData instance for this thread.