diff --git a/gitstatus/bin/gitstatusd-darwin-x86_64 b/gitstatus/bin/gitstatusd-darwin-x86_64 index b8087e25..b13bb28d 100755 Binary files a/gitstatus/bin/gitstatusd-darwin-x86_64 and b/gitstatus/bin/gitstatusd-darwin-x86_64 differ diff --git a/gitstatus/bin/gitstatusd-freebsd-amd64 b/gitstatus/bin/gitstatusd-freebsd-amd64 index cdca91c7..576eebf3 100755 Binary files a/gitstatus/bin/gitstatusd-freebsd-amd64 and b/gitstatus/bin/gitstatusd-freebsd-amd64 differ diff --git a/gitstatus/bin/gitstatusd-linux-armv7l b/gitstatus/bin/gitstatusd-linux-armv7l index c7df7534..767e86a0 100755 Binary files a/gitstatus/bin/gitstatusd-linux-armv7l and b/gitstatus/bin/gitstatusd-linux-armv7l differ diff --git a/gitstatus/bin/gitstatusd-linux-x86_64 b/gitstatus/bin/gitstatusd-linux-x86_64 index 5d19d2b8..c5cb9d51 100755 Binary files a/gitstatus/bin/gitstatusd-linux-x86_64 and b/gitstatus/bin/gitstatusd-linux-x86_64 differ diff --git a/gitstatus/gitstatus.plugin.zsh b/gitstatus/gitstatus.plugin.zsh index 35287776..f3c91eb7 100644 --- a/gitstatus/gitstatus.plugin.zsh +++ b/gitstatus/gitstatus.plugin.zsh @@ -226,28 +226,25 @@ function gitstatus_start() { " <&$req_fd >&$resp_fd 2>$log_file 3<$lock_file &! daemon_pid=$! + command rm -f $lock_file local reply echo -nE $'hello\x1f\x1e' >&$req_fd IFS='' read -r -d $'\x1e' -u $resp_fd -t $timeout reply [[ $reply == $'hello\x1f0' ]] - function _gitstatus_cleanup_${name}() { + function _gitstatus_cleanup_${daemon_pid}() { emulate -L zsh setopt err_return no_unset - local name=${${(%)${:-%N}}#_gitstatus_cleanup_} - local -i daemon_pid=${(P)${:-GITSTATUS_DAEMON_PID_$name}} - [[ $daemon_pid -gt 0 ]] && kill -- -$daemon_pid &>/dev/null || true - local lock_file=${(P)${:-_GITSTATUS_LOCK_FILE_$name}} - command rm -f $lock_file || true + local -i daemon_pid=${${(%)${:-%N}}#_gitstatus_cleanup_} + kill -- -$daemon_pid &>/dev/null || true } - add-zsh-hook zshexit _gitstatus_cleanup_${name} + add-zsh-hook zshexit _gitstatus_cleanup_${daemon_pid} } start && { typeset -g GITSTATUS_DAEMON_LOG_${name}=$log_file typeset -gi GITSTATUS_DAEMON_PID_${name}=$daemon_pid - typeset -g _GITSTATUS_LOCK_FILE_${name}=$lock_file typeset -giH _GITSTATUS_REQ_FD_${name}=$req_fd typeset -giH _GITSTATUS_RESP_FD_${name}=$resp_fd typeset -giH _GITSTATUS_CLIENT_PID_${name}=$$