From: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> Do not try again if the unix socket is already connected, but fail immediately. https://bugzilla.redhat.com/show_bug.cgi?id=1073461 --- SpiceXPI/src/plugin/controller-unix.cpp | 2 ++ SpiceXPI/src/plugin/controller.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/SpiceXPI/src/plugin/controller-unix.cpp b/SpiceXPI/src/plugin/controller-unix.cpp index 1e60e5c..952f95c 100644 --- a/SpiceXPI/src/plugin/controller-unix.cpp +++ b/SpiceXPI/src/plugin/controller-unix.cpp @@ -103,6 +103,8 @@ int SpiceControllerUnix::Connect() int rc = connect(m_client_socket, (struct sockaddr *) &remote, strlen(remote.sun_path) + sizeof(remote.sun_family)); if (rc == -1) { + if (errno == EISCONN) + rc = 1; g_critical("controller connect: %s", g_strerror(errno)); } else diff --git a/SpiceXPI/src/plugin/controller.cpp b/SpiceXPI/src/plugin/controller.cpp index bdfcba8..be56a28 100644 --- a/SpiceXPI/src/plugin/controller.cpp +++ b/SpiceXPI/src/plugin/controller.cpp @@ -94,6 +94,8 @@ int SpiceController::Connect(const int nRetries) for (int i = 0; rc != 0 && i < nRetries; ++i) { rc = Connect(); + if (rc == 1) + break; g_usleep(sleep_time * G_USEC_PER_SEC); } if (rc != 0) { -- 1.8.5.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel