credentials: unable to connect to cache daemon

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>
This commit is contained in:
Clemens Buchacher 2012-01-07 12:54:36 +01:00 коммит произвёл Junio C Hamano
Родитель 861444f6d7
Коммит 98c2924cfa
1 изменённых файлов: 3 добавлений и 4 удалений

Просмотреть файл

@ -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);
}