+Thu Jan 15 01:16:05 GMT 2009 John Levon <levon@movementarian.org>
+
+ * src/xen_unified.c: Fix ref-counting for Xen driver event
+ registration
+
Wed Jan 14 17:30:54 GMT 2009 John Levon <levon@movementarian.org>
* docs/devhelp/Makefile.am: Fix devhelp build dependencies
void *opaque,
void (*freefunc)(void *))
{
+ int ret;
+
GET_PRIVATE (conn);
if (priv->xsWatch == -1) {
xenUnifiedError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
return -1;
}
- conn->refs++;
- return virDomainEventCallbackListAdd(conn, priv->domainEventCallbacks,
- callback, opaque, freefunc);
+ ret = virDomainEventCallbackListAdd(conn, priv->domainEventCallbacks,
+ callback, opaque, freefunc);
+
+ if (ret == 0)
+ conn->refs++;
+
+ return (ret);
}
static int
}
ret = virDomainEventCallbackListRemove(conn, priv->domainEventCallbacks,
- callback);
- virUnrefConnect(conn);
+ callback);
+
+ if (ret == 0)
+ virUnrefConnect(conn);
return ret;
}