diff options
Diffstat (limited to 'credential-cache.c')
-rw-r--r-- | credential-cache.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/credential-cache.c b/credential-cache.c index b15a9a7449..9a03792c7d 100644 --- a/credential-cache.c +++ b/credential-cache.c @@ -71,10 +71,14 @@ static void do_cache(const char *socket, const char *action, int timeout, die_errno("unable to relay credential"); } - if (send_request(socket, &buf) < 0 && (flags & FLAG_SPAWN)) { - spawn_daemon(socket); - if (send_request(socket, &buf) < 0) + if (send_request(socket, &buf) < 0) { + if (errno != ENOENT && errno != ECONNREFUSED) die_errno("unable to connect to cache daemon"); + if (flags & FLAG_SPAWN) { + spawn_daemon(socket); + if (send_request(socket, &buf) < 0) + die_errno("unable to connect to cache daemon"); + } } strbuf_release(&buf); } |