feat(ssh-agent): only start ssh-agent once (#5359)

Close #5359
Close #7379

Co-authored-by: Will Andrews <will@firepipe.net>
Co-authored-by: zhangyc <zhangyc@fenbi.com>
master
Marc Cornellà 5 years ago
parent 5a9d9553cd
commit 7692881d2a
No known key found for this signature in database
GPG Key ID: 314585E776A9C1B
  1. 20
      plugins/ssh-agent/ssh-agent.plugin.zsh

@ -1,5 +1,3 @@
typeset _agent_forwarding _ssh_env_cache
function _start_agent() {
local lifetime
zstyle -s :omz:plugins:ssh-agent lifetime lifetime
@ -97,7 +95,23 @@ else
_start_agent
fi
_add_identities
() {
emulate -L zsh
command mkdir "$ZSH_CACHE_DIR/ssh-agent.lock" 2>/dev/null || return
trap "
ret=\$?
command rm -rf '$ZSH_CACHE_DIR/ssh-agent.lock'
unset _agent_forwarding _ssh_env_cache
unfunction _start_agent _add_identities 2>/dev/null
return \$ret
" EXIT INT QUIT
_add_identities
}
# tidy up after ourselves
unset _agent_forwarding _ssh_env_cache

Loading…
Cancel
Save