[libvirt PATCH v2 06/10] admin: Use automatic mutex management

Tim Wiederhake posted 10 patches 3 years, 11 months ago
[libvirt PATCH v2 06/10] admin: Use automatic mutex management
Posted by Tim Wiederhake 3 years, 11 months ago
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
---
 src/admin/admin_server_dispatch.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/admin/admin_server_dispatch.c b/src/admin/admin_server_dispatch.c
index f533fcf539..893c7f1de2 100644
--- a/src/admin/admin_server_dispatch.c
+++ b/src/admin/admin_server_dispatch.c
@@ -165,9 +165,9 @@ adminDispatchConnectOpen(virNetServer *server G_GNUC_UNUSED,
     struct daemonAdmClientPrivate *priv =
         virNetServerClientGetPrivateData(client);
     int ret = -1;
+    VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
 
     VIR_DEBUG("priv=%p dmn=%p", priv, priv->dmn);
-    virMutexLock(&priv->lock);
 
     flags = args->flags;
     virCheckFlagsGoto(0, cleanup);
@@ -176,7 +176,6 @@ adminDispatchConnectOpen(virNetServer *server G_GNUC_UNUSED,
  cleanup:
     if (ret < 0)
         virNetMessageSaveError(rerr);
-    virMutexUnlock(&priv->lock);
     return ret;
 }
 
-- 
2.31.1
Re: [libvirt PATCH v2 06/10] admin: Use automatic mutex management
Posted by Michal Prívozník 3 years, 11 months ago
On 3/4/22 18:28, Tim Wiederhake wrote:
> Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
> ---
>  src/admin/admin_server_dispatch.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/src/admin/admin_server_dispatch.c b/src/admin/admin_server_dispatch.c
> index f533fcf539..893c7f1de2 100644
> --- a/src/admin/admin_server_dispatch.c
> +++ b/src/admin/admin_server_dispatch.c
> @@ -165,9 +165,9 @@ adminDispatchConnectOpen(virNetServer *server G_GNUC_UNUSED,
>      struct daemonAdmClientPrivate *priv =
>          virNetServerClientGetPrivateData(client);
>      int ret = -1;
> +    VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
>  
>      VIR_DEBUG("priv=%p dmn=%p", priv, priv->dmn);
> -    virMutexLock(&priv->lock);
>  
>      flags = args->flags;
>      virCheckFlagsGoto(0, cleanup);
> @@ -176,7 +176,6 @@ adminDispatchConnectOpen(virNetServer *server G_GNUC_UNUSED,
>   cleanup:
>      if (ret < 0)
>          virNetMessageSaveError(rerr);
> -    virMutexUnlock(&priv->lock);
>      return ret;
>  }
>  

I'm not sure why was the locking here in the first place, but it made me
smile. Thank you for that! :-)

Michal