From nobody Mon Feb 9 17:22:59 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629895449; cv=none; d=zohomail.com; s=zohoarc; b=Ac4tAe7QGekyvW5DIRDPQM+fqfzOUU29nE4UvxtBwXtUI2NESDzQznS0DXRjTK9X92fK10H6jUGTRWwvtfUJcqZ8QERiqmi2wLRVMISOt6a564932R6W6E2/00LmfogSOnA+gNG/ruRVYgmv/j9UtR/9sijUWZ+1sciOwIg1gjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629895449; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zv8Ejh3JtmIYuihyXbo5vTjceHeQRMQujJfI/pa/Q4A=; b=NIENd4gn3kWXkMA+xMhNHfIJP8YtNgn57MFIrWTaAj9n87np1g1tLw4LE62+go3Aa0X8L9GOzzCF7CAVeepMfarJPWX//0tH+XdEJZQbYClM+RUU5wyK0IZnbw/7fOUwpUCSLirXYeYQGkIV8bOvS+oe1Wdn6MMjZbcMUht1jXY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1629895449605361.326396098498; Wed, 25 Aug 2021 05:44:09 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-176-J2ylOkz_MQe8iRzT9r9kkQ-1; Wed, 25 Aug 2021 08:44:06 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 98B6D87D543; Wed, 25 Aug 2021 12:44:01 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 76F4C28559; Wed, 25 Aug 2021 12:44:01 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 3D97C1821898; Wed, 25 Aug 2021 12:44:01 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17PChxDt013693 for ; Wed, 25 Aug 2021 08:44:00 -0400 Received: by smtp.corp.redhat.com (Postfix) id F08B91ABDF; Wed, 25 Aug 2021 12:43:59 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.192.26]) by smtp.corp.redhat.com (Postfix) with ESMTP id 05DE15D741; Wed, 25 Aug 2021 12:43:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629895448; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=zv8Ejh3JtmIYuihyXbo5vTjceHeQRMQujJfI/pa/Q4A=; b=W3gfoSpUpo8Z1YEfLEWa04uRYqTz/aRs8Pfr1KuIvlCSPn36uGYsvjQpEtHbbZ0fJG+cRh EMpPpBEyur39ar9fi/L7exsSMyPNZG0NRrUyzkalSLmTUHF9I/dp0LMY6EaSACwIDieF/G GfTa31KkJCYT8xftFY75WGlZ09V3FNk= X-MC-Unique: J2ylOkz_MQe8iRzT9r9kkQ-1 From: Tim Wiederhake To: libvir-list@redhat.com Subject: [libvirt PATCH 09/11] virChrdevOpen: Use virLockGuard Date: Wed, 25 Aug 2021 14:43:28 +0200 Message-Id: <20210825124330.84282-10-twiederh@redhat.com> In-Reply-To: <20210825124330.84282-1-twiederh@redhat.com> References: <20210825124330.84282-1-twiederh@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Cc: Tim Wiederhake X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1629895451978100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Tim Wiederhake --- src/conf/virchrdev.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/conf/virchrdev.c b/src/conf/virchrdev.c index a95b8976ac..7acbfd7f6a 100644 --- a/src/conf/virchrdev.c +++ b/src/conf/virchrdev.c @@ -326,6 +326,7 @@ int virChrdevOpen(virChrdevs *devs, char *path; int ret; bool added =3D false; + vir_g_autoptr(virLockGuard) lock =3D NULL; =20 switch (source->type) { case VIR_DOMAIN_CHR_TYPE_PTY: @@ -346,12 +347,11 @@ int virChrdevOpen(virChrdevs *devs, return -1; } =20 - virMutexLock(&devs->lock); + lock =3D virLockGuardNew(&devs->lock); =20 if ((ent =3D virHashLookup(devs->hash, path))) { if (!force) { /* entry found, device is busy */ - virMutexUnlock(&devs->lock); return 1; } else { /* terminate existing connection */ @@ -369,16 +369,12 @@ int virChrdevOpen(virChrdevs *devs, } =20 /* create the lock file */ - if ((ret =3D virChrdevLockFileCreate(path)) < 0) { - virMutexUnlock(&devs->lock); + if ((ret =3D virChrdevLockFileCreate(path)) < 0) return ret; - } =20 /* obtain a reference to the stream */ - if (virStreamRef(st) < 0) { - virMutexUnlock(&devs->lock); + if (virStreamRef(st) < 0) return -1; - } =20 cbdata =3D g_new0(virChrdevStreamInfo, 1); ent =3D g_new0(virChrdevHashEntry, 1); @@ -417,7 +413,6 @@ int virChrdevOpen(virChrdevs *devs, cbdata, virChrdevFDStreamCloseCbFree); =20 - virMutexUnlock(&devs->lock); return 0; =20 error: @@ -429,7 +424,6 @@ int virChrdevOpen(virChrdevs *devs, if (cbdata) VIR_FREE(cbdata->path); VIR_FREE(cbdata); - virMutexUnlock(&devs->lock); virChrdevHashEntryFree(ent); return -1; } --=20 2.31.1