From: Cole Robinson Date: Tue, 12 Jan 2016 01:08:45 +0000 (-0500) Subject: rpc: socket: Explicitly error if we exceed retry count X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3192efaec8874666016981e0bcb897fadb0999cb;p=thirdparty%2Flibvirt.git rpc: socket: Explicitly error if we exceed retry count When we autolaunch libvirtd for session URIs, we spin in a retry loop waiting for the daemon to start and the connect(2) to succeed. However if we exceed the retry count, we don't explicitly raise an error, which can yield a slew of different error messages elsewhere in the code. Explicitly raise the last connect(2) failure if we run out of retries. (cherry picked from commit 8da02d528068942303923fc4f935e77cccac9c7c) --- diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c index dcff69e5fd..90951be2f4 100644 --- a/src/rpc/virnetsocket.c +++ b/src/rpc/virnetsocket.c @@ -618,7 +618,9 @@ int virNetSocketNewConnectUNIX(const char *path, } VIR_DEBUG("connect() failed: retries=%d errno=%d", retries, errno); + retries--; if (!spawnDaemon || + retries == 0 || (errno != ENOENT && errno != ECONNREFUSED)) { virReportSystemError(errno, _("Failed to connect socket to '%s'"), path); @@ -628,7 +630,6 @@ int virNetSocketNewConnectUNIX(const char *path, if (virNetSocketForkDaemon(binary) < 0) goto cleanup; - retries--; usleep(5000); }