git-gui: Delay searching for 'nice' until its really asked for

Not every caller of 'git' or 'git_pipe' wants to use nice to lower the
priority of the process its executing.  In many cases we may never use
the nice process to launch git.  So we can avoid searching our $PATH
to locate a suitable nice if we'll never actually use it.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Shawn O. Pearce 2007-07-17 22:31:16 -04:00
parent 91464dfb10
commit 6f62b4f782

View File

@ -367,16 +367,25 @@ proc _which {what} {
return {}
}
proc _lappend_nice {cmd_var} {
global _nice
upvar $cmd_var cmd
if {![info exists _nice]} {
set _nice [_which nice]
}
if {$_nice ne {}} {
lappend cmd $_nice
}
}
proc git {args} {
set opt [list exec]
while {1} {
switch -- [lindex $args 0] {
--nice {
global _nice
if {$_nice ne {}} {
lappend opt $_nice
}
_lappend_nice opt
}
default {
@ -424,10 +433,7 @@ proc git_read {args} {
while {1} {
switch -- [lindex $args 0] {
--nice {
global _nice
if {$_nice ne {}} {
lappend opt $_nice
}
_lappend_nice opt
}
--stderr {
@ -455,10 +461,7 @@ proc git_write {args} {
while {1} {
switch -- [lindex $args 0] {
--nice {
global _nice
if {$_nice ne {}} {
lappend opt $_nice
}
_lappend_nice opt
}
default {
@ -525,7 +528,6 @@ if {$_git eq {}} {
error_popup "Cannot find git in PATH."
exit 1
}
set _nice [_which nice]
######################################################################
##