summaryrefslogtreecommitdiff
path: root/src/libvirt-host.c
diff options
context:
space:
mode:
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>2016-03-01 14:17:38 +0000
committerDaniel P. Berrange <berrange@redhat.com>2016-03-01 14:17:38 +0000
commit88f09b75eb99415c7f2ce3d1b010600ba8e37580 (patch)
tree5b410205320e31f78235fc204f05c91d31b48bf8 /src/libvirt-host.c
parentbb5827950e5b520eeef3bde07058a1c9d51845e4 (diff)
downloadlibvirt-88f09b75eb99415c7f2ce3d1b010600ba8e37580.tar.gz
close callback: move it to driver
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Diffstat (limited to 'src/libvirt-host.c')
-rw-r--r--src/libvirt-host.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/libvirt-host.c b/src/libvirt-host.c
index b0597ee2fb..24277b71b7 100644
--- a/src/libvirt-host.c
+++ b/src/libvirt-host.c
@@ -1217,14 +1217,9 @@ virConnectRegisterCloseCallback(virConnectPtr conn,
virCheckConnectReturn(conn, -1);
virCheckNonNullArgGoto(cb, error);
- if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != NULL) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("A close callback is already registered"));
+ if (conn->driver->connectRegisterCloseCallback &&
+ conn->driver->connectRegisterCloseCallback(conn, cb, opaque, freecb) < 0)
goto error;
- }
-
- virConnectCloseCallbackDataRegister(conn->closeCallback, conn, cb,
- opaque, freecb);
return 0;
@@ -1257,13 +1252,9 @@ virConnectUnregisterCloseCallback(virConnectPtr conn,
virCheckConnectReturn(conn, -1);
virCheckNonNullArgGoto(cb, error);
- if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != cb) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("A different callback was requested"));
+ if (conn->driver->connectUnregisterCloseCallback &&
+ conn->driver->connectUnregisterCloseCallback(conn, cb) < 0)
goto error;
- }
-
- virConnectCloseCallbackDataUnregister(conn->closeCallback, cb);
return 0;