diff --git a/credential-cache.c b/credential-cache.c index dc98372e59..b15a9a7449 100644 --- a/credential-cache.c +++ b/credential-cache.c @@ -71,11 +71,10 @@ static void do_cache(const char *socket, const char *action, int timeout, die_errno("unable to relay credential"); } - if (!send_request(socket, &buf)) - return; - if (flags & FLAG_SPAWN) { + if (send_request(socket, &buf) < 0 && (flags & FLAG_SPAWN)) { spawn_daemon(socket); - send_request(socket, &buf); + if (send_request(socket, &buf) < 0) + die_errno("unable to connect to cache daemon"); } strbuf_release(&buf); }