Carlo Marcelo Arenas Belón <carenas@xxxxxxxxx> writes: > @@ -75,7 +101,7 @@ static void do_cache(const char *socket, const char *action, int timeout, > } > > if (send_request(socket, &buf) < 0) { > - if (errno != ENOENT && errno != ECONNREFUSED) > + if (connection_fatally_broken(errno)) > die_errno("unable to connect to cache daemon"); > if (flags & FLAG_SPAWN) { > spawn_daemon(socket); In my earlier review I suggested a helper that checks recoverability, hence leading to a code structure like this: if (!connection_not_yet_open(errno)) die_errno(...); /* otherwise, (re)establish connection and retry */ ... but the phrasing and semantics you chose to check for unrecoverable state reads much better. Thanks.