[virt-tools-list] [virt-viewer][PATCH 3/4 v2] Prefer to use virConnectDomainEventRegisterAny()
Fabiano Fidêncio
fidencio at redhat.com
Wed Nov 19 15:05:46 UTC 2014
The usage of virConnectDomainEventRegister() is no longer recommended
according to the libvirt's documentation.
---
src/virt-viewer.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/virt-viewer.c b/src/virt-viewer.c
index dcc64e9..2c19057 100644
--- a/src/virt-viewer.c
+++ b/src/virt-viewer.c
@@ -59,6 +59,7 @@ struct _VirtViewerPrivate {
gboolean waitvm;
gboolean reconnect;
gboolean auth_cancelled;
+ gint domain_event;
};
G_DEFINE_TYPE (VirtViewer, virt_viewer, VIRT_VIEWER_TYPE_APP)
@@ -530,9 +531,11 @@ virt_viewer_dispose (GObject *object)
VirtViewerPrivate *priv = self->priv;
if (priv->conn) {
- if (priv->withEvents)
- virConnectDomainEventDeregister(priv->conn,
- virt_viewer_domain_event);
+ if (priv->withEvents) {
+ virConnectDomainEventDeregisterAny(priv->conn,
+ priv->domain_event);
+ priv->domain_event = -1;
+ }
virConnectUnregisterCloseCallback(priv->conn,
virt_viewer_conn_event);
virConnectClose(priv->conn);
@@ -824,10 +827,13 @@ virt_viewer_connect(VirtViewerApp *app)
return -1;
}
- if (virConnectDomainEventRegister(priv->conn,
- virt_viewer_domain_event,
- self,
- NULL) < 0)
+ priv->domain_event = virConnectDomainEventRegisterAny(priv->conn,
+ priv->dom,
+ VIR_DOMAIN_EVENT_ID_LIFECYCLE,
+ VIR_DOMAIN_EVENT_CALLBACK(virt_viewer_domain_event),
+ self,
+ NULL);
+ if (priv->domain_event < 0)
priv->withEvents = FALSE;
else
priv->withEvents = TRUE;
--
2.1.0
More information about the virt-tools-list
mailing list