VIR_DEBUG("conn=%p", conn);
virResetLastError();
-
virCheckConnectReturn(conn, -1);
- virObjectLock(conn);
-
virCheckNonNullArgGoto(cb, error);
if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != NULL) {
virConnectCloseCallbackDataRegister(conn->closeCallback, conn, cb,
opaque, freecb);
- virObjectUnlock(conn);
return 0;
error:
- virObjectUnlock(conn);
virDispatchError(conn);
return -1;
}
VIR_DEBUG("conn=%p", conn);
virResetLastError();
-
virCheckConnectReturn(conn, -1);
- virObjectLock(conn);
-
virCheckNonNullArgGoto(cb, error);
if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != cb) {
virConnectCloseCallbackDataUnregister(conn->closeCallback, cb);
- virObjectUnlock(conn);
return 0;
error:
- virObjectUnlock(conn);
virDispatchError(conn);
return -1;
}