On Tue, Jul 24, 2012 at 14:17:04 +0100, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange(a)redhat.com>
Update the remote driver to use the virNetClient close callback
to trigger the virConnectPtr close callbacks
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/remote/remote_driver.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index a69e69a..d41be55 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -320,6 +320,19 @@ enum virDrvOpenRemoteFlags {
};
+static void remoteClientCloseFunc(virNetClientPtr client ATTRIBUTE_UNUSED,
+ int reason,
+ void *opaque)
+{
+ virConnectPtr conn = opaque;
+
+ if (conn->closeCallback) {
+ VIR_DEBUG("Triggering connection close callback %p reason=%d",
+ conn->closeCallback, reason);
+ conn->closeCallback(conn, reason, conn->closeOpaque);
+ }
+}
+
Hmm, should we lock conn first to avoid possible race condition with
virConnectUnregisterCloseCallback()?
Jirka