threads / patch / 37791

patchgit-gui/gitk: Do not depend on Cygwin's "kill" command on Windows

Subject: [PATCH] git-gui/gitk: Do not depend on Cygwin's "kill" command on Windows

## tl;dr

One message between Oct 23, 2014 and Oct 23, 2014. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Sebastian Schuberth· Oct 23, 2014, 19:30 UTC · lore

Windows does not necessarily mean Cygwin, it could also be MSYS. The latter ships with a version of "kill" that does not understand "-f". In msysgit this was addressed shipping Cygwin's version of kill.

Properly fix this by using the stock Windows "taskkill" command instead, which is available since Windows XP Professional.

Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
---
 git-gui/git-gui.sh | 4 +---
 gitk-git/gitk      | 2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)
Show changes to 2 files +2 −4

git-gui/git-gui.sh, gitk-git/gitk

diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index b186329..a1c823e 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -666,9 +666,7 @@ proc kill_file_process {fd} {
 
 	catch {
 		if {[is_Windows]} {
-			# Use a Cygwin-specific flag to allow killing
-			# native Windows processes
-			exec kill -f $process
+			exec taskkill /pid $process
 		} else {
 			exec kill $process
 		}
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 3520bda..bfc5cfa 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -445,7 +445,7 @@ proc stop_instance {inst} {
 	set pid [pid $fd]
 
 	if {$::tcl_platform(platform) eq {windows}} {
-	    exec kill -f $pid
+	    exec taskkill /pid $pid
 	} else {
 	    exec kill $pid
 	}
-- 
1.8.4-mingw-3

← back to recent threads