{"id":15733,"url":"https://patchwork.libcamera.org/api/patches/15733/?format=json","web_url":"https://patchwork.libcamera.org/patch/15733/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20220427145150.4710-1-ecurtin@redhat.com>","date":"2022-04-27T14:51:50","name":"[libcamera-devel] libcamera: base: Make MutexLocker(Mutex &mutex) non-blocking","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"a9f049c8682ed44fba6e6b214c3957d7608c8bdb","submitter":{"id":101,"url":"https://patchwork.libcamera.org/api/people/101/?format=json","name":"Eric Curtin","email":"ecurtin@redhat.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/15733/mbox/","series":[{"id":3076,"url":"https://patchwork.libcamera.org/api/series/3076/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3076","date":"2022-04-27T14:51:50","name":"[libcamera-devel] libcamera: base: Make MutexLocker(Mutex &mutex) non-blocking","version":1,"mbox":"https://patchwork.libcamera.org/series/3076/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/15733/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/15733/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6F587C3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Apr 2022 14:52:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B765865644;\n\tWed, 27 Apr 2022 16:52:06 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 03CE46042F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Apr 2022 16:52:04 +0200 (CEST)","from mail-wm1-f72.google.com (mail-wm1-f72.google.com\n\t[209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\tus-mta-357-SfDrhK4sPZKdJLM1-mP9rw-1; Wed, 27 Apr 2022 10:52:02 -0400","by mail-wm1-f72.google.com with SMTP id\n\tq188-20020a1c43c5000000b003928f679c42so836740wma.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Apr 2022 07:52:01 -0700 (PDT)","from localhost.localdomain\n\t([2001:bb6:9634:7100:33b0:c1b1:8875:4adb])\n\tby smtp.gmail.com with ESMTPSA id\n\th9-20020a05600c350900b00393f01c8f00sm1788811wmq.47.2022.04.27.07.51.59\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 27 Apr 2022 07:51:59 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1651071126;\n\tbh=LAEZO0dKJPnAyTjHsGcBpa2Cl4czd6wQFDOFxrkY1Gc=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=sbmfhq1dx3eh0aaImAfgDIxLo/8GbZ1ZYoAUkCAtxe+WHd0ACQqokUD7myPaa+Hvn\n\tJZTX5nelWR0y4teLjfpvKh1fGGtR1YSnOsUr4RDYwFrp1Na+qYRpuKTb3y3f22e47h\n\t7TtANsemumy1FiLhSIRsyDFmAoX0kZCdo7spTFuOgOi+QlnBL0cgyGrU/N7dA7KHc5\n\thf17bxgUciT79zqQpzFCGXbtKGzlksYxV2AMdfPfFqnbScA4kP4abYYRcCiVlZeojg\n\tfu8wdU9FJhwUrMxiYIkOYsHTEnjl3QUrunFCoLrImDPaDjGK0H0siKZp8JIu+qhgBh\n\t8fszzYf888Qng==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1651071123;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding;\n\tbh=3WIJXXPY8QbYrl/Cd9IRy29MzVEf0rqTXCyvCILt5NE=;\n\tb=FXnH76D0OAyVYZQLDuBZR4Y0hpbXO/MR2QWGkZeY5GAV+Pj1ipTcGYYWQkSYooQ33lI7lk\n\t5yJXTQUd0jZtJaUtzaN3dTFfaLWfpmL8rbMYAu525S/GePLmG8o0cGNex4X7iF3kQCfJAW\n\tzKhuUaycaSwPU1Fx4Q2Z3amHbSUACV0="],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=redhat.com\n\theader.i=@redhat.com header.b=\"FXnH76D0\"; \n\tdkim-atps=neutral","relay.mimecast.com;\n\tauth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ecurtin@redhat.com"],"X-MC-Unique":"SfDrhK4sPZKdJLM1-mP9rw-1","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=3WIJXXPY8QbYrl/Cd9IRy29MzVEf0rqTXCyvCILt5NE=;\n\tb=xCXf/+S6uygfUkAxaDUhFIUcZFJ+WXQRh7OcnUc82LPcUldz+L/fycPNqI0KM4ti6r\n\t212GZMFlFvOmjfhCdq+eNZOIOSOw5Lx7iRY3jnerObqfEZJ0c53dy9bFPAn0wfgAz4HI\n\tToaI3bifjSuFG7PeUKdTM7VKxGt9en+Fj9sGdvoZPX9xRkon5USJs+wGCIfGZr9mrx41\n\tw5mA+GukbMb+m+mO5c34Liraf0GoZ0Kj803gOcs7jH5+7gR/iMox+mgEVm0VD5tUj0F3\n\tkR1nxjirKXpVBameE413x7Xss26kCkxKhwNomEv/QMaNxKB+h8gk9zGpvXEZV4KtmGLX\n\t9+uw==","X-Gm-Message-State":"AOAM532nsvUrxYjV3yTSM1atTWAYqWZkfu56UtIoLeuLtdr2jmcMBclz\n\tm0aT1X03MSSmKWrY+TCgh827B5PxNh+gVwc4ULH/ZeinKQu+zPY8tU9oAHZXA0ZYcy48MCeMbxv\n\tL4614aakI3WRYCqom+0MZ41YG/juoz06mqzyP1H11P+zQ+AuHz3Auv7Zv7pc7WzN4M9ZIj6Gm4v\n\t+0s6P+BQXz","X-Received":["by 2002:a05:600c:2f0f:b0:393:fbd1:cc94 with SMTP id\n\tr15-20020a05600c2f0f00b00393fbd1cc94mr6761028wmn.162.1651071120567; \n\tWed, 27 Apr 2022 07:52:00 -0700 (PDT)","by 2002:a05:600c:2f0f:b0:393:fbd1:cc94 with SMTP id\n\tr15-20020a05600c2f0f00b00393fbd1cc94mr6761012wmn.162.1651071120310; \n\tWed, 27 Apr 2022 07:52:00 -0700 (PDT)"],"X-Google-Smtp-Source":"ABdhPJz+brjsiqgzmAohThmiXm6RiNEh03urpLOVTdjulSWdqa2jLoDSalylcLyOc4ncBdQNPx+DXg==","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 27 Apr 2022 15:51:50 +0100","Message-Id":"<20220427145150.4710-1-ecurtin@redhat.com>","X-Mailer":"git-send-email 2.35.1","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain; charset=\"US-ASCII\"; x-default=true","Subject":"[libcamera-devel] [PATCH] libcamera: base: Make MutexLocker(Mutex\n\t&mutex) non-blocking","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Eric Curtin via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Eric Curtin <ecurtin@redhat.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Camera::acquire claims to be non-blocking, in order to achieve this,\nstd::unique_lock<std::mutex> constructor must be called with\ntry_to_lock so it doesn't block if a lock cannot be obtained.\n\nBug: https://bugs.libcamera.org/show_bug.cgi?id=127\nSigned-off-by: Eric Curtin <ecurtin@redhat.com>\n---\n include/libcamera/base/mutex.h | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)","diff":"diff --git a/include/libcamera/base/mutex.h b/include/libcamera/base/mutex.h\nindex 2d23e49e..c4a5f791 100644\n--- a/include/libcamera/base/mutex.h\n+++ b/include/libcamera/base/mutex.h\n@@ -45,7 +45,7 @@ class LIBCAMERA_TSA_SCOPED_CAPABILITY MutexLocker final\n {\n public:\n \texplicit MutexLocker(Mutex &mutex) LIBCAMERA_TSA_ACQUIRE(mutex)\n-\t\t: lock_(mutex.mutex_)\n+\t\t: lock_(mutex.mutex_, std::try_to_lock)\n \t{\n \t}\n \n","prefixes":["libcamera-devel"]}