From 1e697ac9f30274ce705af44b1da69a0e875cab56 Mon Sep 17 00:00:00 2001 From: Nikolay Shirokovskiy Date: Tue, 14 Jun 2016 11:45:53 +0300 Subject: [PATCH] vz: restore accidentally removed locks around close callback calls Signed-off-by: Nikolay Shirokovskiy --- src/vz/vz_driver.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 6fb622293b..6d48dc4dec 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -1514,6 +1514,8 @@ vzConnectRegisterCloseCallback(virConnectPtr conn, vzConnPtr privconn = conn->privateData; int ret = -1; + virObjectLock(privconn->driver); + if (virConnectCloseCallbackDataGetCallback(privconn->closeCallback) != NULL) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("A close callback is already registered")); @@ -1525,6 +1527,7 @@ vzConnectRegisterCloseCallback(virConnectPtr conn, ret = 0; cleanup: + virObjectUnlock(privconn->driver); return ret; } @@ -1535,6 +1538,7 @@ vzConnectUnregisterCloseCallback(virConnectPtr conn, virConnectCloseFunc cb) vzConnPtr privconn = conn->privateData; int ret = -1; + virObjectLock(privconn->driver); if (virConnectCloseCallbackDataGetCallback(privconn->closeCallback) != cb) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", @@ -1546,6 +1550,7 @@ vzConnectUnregisterCloseCallback(virConnectPtr conn, virConnectCloseFunc cb) ret = 0; cleanup: + virObjectUnlock(privconn->driver); return ret; }