X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/3feef411b5486ffdb5384387db94ea3664117933..13c19c5dbc0c5a20a6916061df1a227bad914b54:/bin/start-ssh-agent diff --git a/bin/start-ssh-agent b/bin/start-ssh-agent index bfb2608..d5389d8 100755 --- a/bin/start-ssh-agent +++ b/bin/start-ssh-agent @@ -68,13 +68,20 @@ case $foundp in nil) mkdir -p -m700 "$dir" SSH_AUTH_SOCK=$socket + p=$PATH + runes= + while :; do + case $p in *:*) d=${p%%:*} p=${p#*:} ;; *) d=$p p= ;; esac + if [ -x "${d+$d/}setsid" ]; then runes="$runes setsid"; break; fi + case $p in "") break ;; esac + done set +e; ssh-add -l >/dev/null 2>&1; rc=$?; set -e if [ $rc -ge 2 ]; then if [ -f "$pid" ]; then kill $(cat "$pid") >/dev/null 2>&1 || : fi rm -f "$socket" "$pid" - (cd /; exec ssh-agent -d -a "$socket" >/dev/null 2>&1)& + (cd /; exec $runes ssh-agent -d -a "$socket" /dev/null 2>&1)& echo $! >"$pid" SSH_AUTH_SOCK=$socket fi