mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
close callback API: remove unnecessary locks
closeCallback pointer is immutable (set on connection object creation) and self-locking.
This commit is contained in:
parent
baf47a1f5a
commit
fa8c164501
@ -1214,10 +1214,7 @@ virConnectRegisterCloseCallback(virConnectPtr conn,
|
|||||||
VIR_DEBUG("conn=%p", conn);
|
VIR_DEBUG("conn=%p", conn);
|
||||||
|
|
||||||
virResetLastError();
|
virResetLastError();
|
||||||
|
|
||||||
virCheckConnectReturn(conn, -1);
|
virCheckConnectReturn(conn, -1);
|
||||||
virObjectLock(conn);
|
|
||||||
|
|
||||||
virCheckNonNullArgGoto(cb, error);
|
virCheckNonNullArgGoto(cb, error);
|
||||||
|
|
||||||
if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != NULL) {
|
if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != NULL) {
|
||||||
@ -1229,11 +1226,9 @@ virConnectRegisterCloseCallback(virConnectPtr conn,
|
|||||||
virConnectCloseCallbackDataRegister(conn->closeCallback, conn, cb,
|
virConnectCloseCallbackDataRegister(conn->closeCallback, conn, cb,
|
||||||
opaque, freecb);
|
opaque, freecb);
|
||||||
|
|
||||||
virObjectUnlock(conn);
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
virObjectUnlock(conn);
|
|
||||||
virDispatchError(conn);
|
virDispatchError(conn);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1259,10 +1254,7 @@ virConnectUnregisterCloseCallback(virConnectPtr conn,
|
|||||||
VIR_DEBUG("conn=%p", conn);
|
VIR_DEBUG("conn=%p", conn);
|
||||||
|
|
||||||
virResetLastError();
|
virResetLastError();
|
||||||
|
|
||||||
virCheckConnectReturn(conn, -1);
|
virCheckConnectReturn(conn, -1);
|
||||||
virObjectLock(conn);
|
|
||||||
|
|
||||||
virCheckNonNullArgGoto(cb, error);
|
virCheckNonNullArgGoto(cb, error);
|
||||||
|
|
||||||
if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != cb) {
|
if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != cb) {
|
||||||
@ -1273,11 +1265,9 @@ virConnectUnregisterCloseCallback(virConnectPtr conn,
|
|||||||
|
|
||||||
virConnectCloseCallbackDataUnregister(conn->closeCallback, cb);
|
virConnectCloseCallbackDataUnregister(conn->closeCallback, cb);
|
||||||
|
|
||||||
virObjectUnlock(conn);
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
virObjectUnlock(conn);
|
|
||||||
virDispatchError(conn);
|
virDispatchError(conn);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user