"%s", _("vz state driver is not active"));
return NULL;
}
- virMutexLock(&vz_driver_lock);
- if (!vz_driver)
- vz_driver = vzDriverObjNew();
- virObjectRef(vz_driver);
- virMutexUnlock(&vz_driver_lock);
+
+ VIR_WITH_MUTEX_LOCK_GUARD(&vz_driver_lock) {
+ if (!vz_driver)
+ vz_driver = vzDriverObjNew();
+ virObjectRef(vz_driver);
+ }
return vz_driver;
}
void
vzDestroyDriverConnection(void)
{
- struct _vzDriver *driver;
- struct _vzConn *privconn_list;
+ struct _vzDriver *driver = NULL;
+ struct _vzConn *privconn_list = NULL;
- virMutexLock(&vz_driver_lock);
- driver = g_steal_pointer(&vz_driver);
- privconn_list = g_steal_pointer(&vz_conn_list);
- virMutexUnlock(&vz_driver_lock);
+ VIR_WITH_MUTEX_LOCK_GUARD(&vz_driver_lock) {
+ driver = g_steal_pointer(&vz_driver);
+ privconn_list = g_steal_pointer(&vz_conn_list);
+ }
while (privconn_list) {
struct _vzConn *privconn = privconn_list;
if (!(privconn->closeCallback = virNewConnectCloseCallbackData()))
goto error;
- virMutexLock(&vz_driver_lock);
- privconn->next = vz_conn_list;
- vz_conn_list = privconn;
- virMutexUnlock(&vz_driver_lock);
+ VIR_WITH_MUTEX_LOCK_GUARD(&vz_driver_lock) {
+ privconn->next = vz_conn_list;
+ vz_conn_list = privconn;
+ }
return VIR_DRV_OPEN_SUCCESS;
if (!privconn)
return 0;
- virMutexLock(&vz_driver_lock);
- for (curr = vz_conn_list; curr; prev = &curr->next, curr = curr->next) {
- if (curr == privconn) {
- *prev = curr->next;
- break;
+ VIR_WITH_MUTEX_LOCK_GUARD(&vz_driver_lock) {
+ for (curr = vz_conn_list; curr; prev = &curr->next, curr = curr->next) {
+ if (curr == privconn) {
+ *prev = curr->next;
+ break;
+ }
}
}
- virMutexUnlock(&vz_driver_lock);
-
virObjectUnref(privconn->closeCallback);
virObjectUnref(privconn->driver);
VIR_FREE(privconn);