diff --git a/credential-cache.c b/credential-cache.c
index b15a9a74494c746d6f1e70b7658769c343c66576..9a03792c7de109e957a1f01924c4f66ba87b5c87 100644 (file)
--- a/credential-cache.c
+++ b/credential-cache.c
die_errno("unable to relay credential");
}
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");
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);
}
}
strbuf_release(&buf);
}