From 736f0e25311b27e0f529ceaba2336baccb1205f8 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 19 Sep 2007 21:44:32 +0000 Subject: [PATCH] Fix waitpid() call to only run in error case (merge error) --- ChangeLog | 5 +++++ src/remote_internal.c | 16 ++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index a7928f2459..e54ca690cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Sep 19 17:42:00 EST 2007 Daniel P. Berrange + + * 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 * configure.in: Use pkg-config to locate gnutls if pkg-config diff --git a/src/remote_internal.c b/src/remote_internal.c index 21d6ee6723..1eed983efc 100644 --- a/src/remote_internal.c +++ b/src/remote_internal.c @@ -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. */