Code

credentials: unable to connect to cache daemon
authorClemens Buchacher <drizzd@aon.at>
Sat, 7 Jan 2012 11:54:36 +0000 (12:54 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 8 Jan 2012 22:38:25 +0000 (14:38 -0800)
Error out if we just spawned the daemon and yet we cannot connect.

And always release the string buffer.

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
credential-cache.c

index dc98372e59d1baf2a9714ecde9ffc96589b9cbac..b15a9a74494c746d6f1e70b7658769c343c66576 100644 (file)
@@ -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);
 }