[libvirt PATCH v2 03/10] remote_daemon_dispatch: Use automatic mutex management
Michal Prívozník
mprivozn at redhat.com
Wed Mar 16 09:38:20 UTC 2022
On 3/4/22 18:28, Tim Wiederhake wrote:
> Signed-off-by: Tim Wiederhake <twiederh at redhat.com>
> ---
> src/remote/remote_daemon_dispatch.c | 187 +++++++++-------------------
> 1 file changed, 58 insertions(+), 129 deletions(-)
>
> diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
> index 510856024c..1a73976831 100644
> --- a/src/remote/remote_daemon_dispatch.c
> +++ b/src/remote/remote_daemon_dispatch.c
> @@ -2057,14 +2057,13 @@ remoteDispatchConnectOpen(virNetServer *server G_GNUC_UNUSED,
> #endif
> unsigned int flags;
> struct daemonClientPrivate *priv = virNetServerClientGetPrivateData(client);
> - int rv = -1;
> #ifdef MODULE_NAME
> const char *type = NULL;
> #endif /* !MODULE_NAME */
> bool preserveIdentity = false;
> + VIR_LOCK_GUARD lock = virLockGuardLock(&priv->lock);
>
> VIR_DEBUG("priv=%p conn=%p", priv, priv->conn);
> - virMutexLock(&priv->lock);
> /* Already opened? */
> if (priv->conn) {
> virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("connection already open"));
> @@ -2184,17 +2183,14 @@ remoteDispatchConnectOpen(virNetServer *server G_GNUC_UNUSED,
> * by default, but do accept RO flags, e.g. TCP
> */
> virNetServerClientSetReadonly(client, (flags & VIR_CONNECT_RO));
> - rv = 0;
> + return 0;
>
> cleanup:
Here, and in the rest of the patch:
This label is now used only in case of failure, so it should be renamed
to 'error'. But it's okay to do that in a follow up patch.
> - if (rv < 0) {
> - virNetMessageSaveError(rerr);
> - if (priv->conn) {
> - g_clear_pointer(&priv->conn, virObjectUnref);
> - }
> + virNetMessageSaveError(rerr);
> + if (priv->conn) {
> + g_clear_pointer(&priv->conn, virObjectUnref);
> }
> - virMutexUnlock(&priv->lock);
> - return rv;
> + return -1;
> }
Michal
More information about the libvir-list
mailing list