[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 1/2] rpc: Report proper close reason



Whenever client socket was marked as closed for some reason, it could've
been changed when really closing the connection.  With this patch the
proper reason is kept since the first time it's marked as closed.

Signed-off-by: Martin Kletzander <mkletzan redhat com>
---
 src/rpc/virnetclient.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c
index 8657b0e..d7455b5 100644
--- a/src/rpc/virnetclient.c
+++ b/src/rpc/virnetclient.c
@@ -634,8 +634,11 @@ virNetClientMarkClose(virNetClientPtr client,
     VIR_DEBUG("client=%p, reason=%d", client, reason);
     if (client->sock)
         virNetSocketRemoveIOCallback(client->sock);
-    client->wantClose = true;
-    client->closeReason = reason;
+    /* Don't override reason that's already set. */
+    if (!client->wantClose) {
+        client->wantClose = true;
+        client->closeReason = reason;
+    }
 }


-- 
2.1.3


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]