]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix waitpid() call to only run in error case (merge error)
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 19 Sep 2007 21:44:32 +0000 (21:44 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 19 Sep 2007 21:44:32 +0000 (21:44 +0000)
ChangeLog
src/remote_internal.c

index a7928f24597a265e49cbef8cfee9295cea36d6a5..e54ca690cc014cb968159408a94e3c3c9654c777 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Sep 19 17:42:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
+
+       * src/remote_internal.c: Fix waitpid() call to only be done
+       in doRemoteOpen error case (merge error from previous commit)
+
 Wed Sep 19 13:39:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
 
        * configure.in: Use pkg-config to locate gnutls if pkg-config
index 21d6ee6723b88e0c014887d6d950156944846cee..1eed983efc4eb2f889511dcaa98c1fcbe7f2c7a4 100644 (file)
@@ -647,14 +647,14 @@ doRemoteOpen (virConnectPtr conn, struct private_data *priv, const char *uri_str
         if (priv->uses_tls && priv->session)
             gnutls_bye (priv->session, GNUTLS_SHUT_RDWR);
         close (priv->sock);
-    }
-    if (priv->pid > 0) {
-        pid_t reap;
-        do {
-            reap = waitpid(priv->pid, NULL, 0);
-            if (reap == -1 && errno == EINTR)
-                continue;
-        } while (reap != -1 && reap != priv->pid);
+        if (priv->pid > 0) {
+            pid_t reap;
+            do {
+                reap = waitpid(priv->pid, NULL, 0);
+                if (reap == -1 && errno == EINTR)
+                    continue;
+            } while (reap != -1 && reap != priv->pid);
+        }
     }
 
     /* Free up the URL and strings. */