Signed-off-by: Rafael Fonseca <r4f4rfs(a)gmail.com>
---
src/admin/admin_server_dispatch.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/src/admin/admin_server_dispatch.c b/src/admin/admin_server_dispatch.c
index b3da577995..2515528779 100644
--- a/src/admin/admin_server_dispatch.c
+++ b/src/admin/admin_server_dispatch.c
@@ -45,7 +45,7 @@ typedef daemonAdmClientPrivate *daemonAdmClientPrivatePtr;
/* Separate private data for admin connection */
struct daemonAdmClientPrivate {
/* Just a placeholder, not that there is anything to be locked */
- virMutex lock;
+ GMutex lock;
virNetDaemonPtr dmn;
};
@@ -55,7 +55,7 @@ remoteAdmClientFree(void *data)
{
struct daemonAdmClientPrivate *priv = data;
- virMutexDestroy(&priv->lock);
+ g_mutex_clear(&priv->lock);
virObjectUnref(priv->dmn);
VIR_FREE(priv);
}
@@ -91,11 +91,7 @@ remoteAdmClientNew(virNetServerClientPtr client G_GNUC_UNUSED,
if (VIR_ALLOC(priv) < 0)
return NULL;
- if (virMutexInit(&priv->lock) < 0) {
- VIR_FREE(priv);
- virReportSystemError(errno, "%s", _("unable to init
mutex"));
- return NULL;
- }
+ g_mutex_init(&priv->lock);
/*
* We don't necessarily need to ref this object right now as there
@@ -167,9 +163,9 @@ adminDispatchConnectOpen(virNetServerPtr server G_GNUC_UNUSED,
struct daemonAdmClientPrivate *priv =
virNetServerClientGetPrivateData(client);
int ret = -1;
+ g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&priv->lock);
VIR_DEBUG("priv=%p dmn=%p", priv, priv->dmn);
- virMutexLock(&priv->lock);
flags = args->flags;
virCheckFlagsGoto(0, cleanup);
@@ -178,7 +174,6 @@ adminDispatchConnectOpen(virNetServerPtr server G_GNUC_UNUSED,
cleanup:
if (ret < 0)
virNetMessageSaveError(rerr);
- virMutexUnlock(&priv->lock);
return ret;
}
--
2.25.2