[{"id":21958,"web_url":"https://patchwork.libcamera.org/comment/21958/","msgid":"<CAO5uPHPmPJMJgF6RiW8EGqivw_xUkFY7S_CoKBg5_+np0DvG+g@mail.gmail.com>","date":"2022-01-06T03:06:41","subject":"Re: [libcamera-devel] [PATCH 0/7] Apply clang thread safety\n\tannotation libcamera-core and v4l2","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi all,\n\nI am back from vacation.\ngentle ping for review.\n\nThanks in advance.\n\nOn Sat, Dec 4, 2021 at 1:46 AM Hirokazu Honda <hiroh@chromium.org> wrote:\n>\n> This applies clang thread safety annotations to libcamera/base, and\n> libcamera/camera_manager and v4l2. I cannot annotate Signal and some\n> variables in thread.cpp is because the used Mutexes are invisible\n> from their header files.\n>\n> Hirokazu Honda (7):\n>   libcamera: base: semaphore: Apply clang thread safety annotation\n>   libcamera: base: thread: Protect exitCode by mutex in exit()\n>   libcamera: base: thread: Apply clang thread safety annotation\n>   libcamera: camera_manager: Protect cameras_ by mutex in cleanup()\n>   libcamera: camera_manager: Apply clang thread safety annotation\n>   v4l2: v4l2_camera_proxy: Apply clang thread safety annotation\n>   v4l2: v4l2_camera: Apply clang thread safety annotation\n>\n>  include/libcamera/base/semaphore.h | 10 +++++-----\n>  src/libcamera/base/semaphore.cpp   |  2 +-\n>  src/libcamera/base/thread.cpp      | 24 +++++++++++++++++-------\n>  src/libcamera/camera_manager.cpp   | 20 ++++++++++++--------\n>  src/v4l2/v4l2_camera.cpp           |  5 ++---\n>  src/v4l2/v4l2_camera.h             | 14 ++++++++------\n>  src/v4l2/v4l2_camera_proxy.h       | 14 ++++++++------\n>  7 files changed, 53 insertions(+), 36 deletions(-)\n>\n> --\n> 2.34.0.384.gca35af8252-goog","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 E35B6BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  6 Jan 2022 03:06:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D77756091E;\n\tThu,  6 Jan 2022 04:06:54 +0100 (CET)","from mail-ed1-x530.google.com (mail-ed1-x530.google.com\n\t[IPv6:2a00:1450:4864:20::530])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 19B9060216\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  6 Jan 2022 04:06:53 +0100 (CET)","by mail-ed1-x530.google.com with SMTP id j6so4051404edw.12\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 05 Jan 2022 19:06:53 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"IEBgDIgR\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=K9FbHtzlkEpMVL5a2P20z8J9gHF3yOOKSKCI0Qm07VM=;\n\tb=IEBgDIgRppa5yvotIg2+IdsFX4AFotx0FTujZmgcvo5bbWxzVJpHbg1aMvybxdXxPh\n\t/YIWT8veqq6gTJqodfPaipA8ivvUVmf+mqZVbYklGFmvSQCN2BfAk300m0/wnzgH6nio\n\tAP0WGZsfgu7S707BDbuGDHB98l1ghS8yl/SM4=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=K9FbHtzlkEpMVL5a2P20z8J9gHF3yOOKSKCI0Qm07VM=;\n\tb=NKb0NMOwQsTAPja2usyFw/EwITKKEZ9Jopdf8x7HDloR9OGEmwwOSubWK/RouRkmFb\n\tPzyLFVe7f6kyRxhAKw4Tb6wvQctpjdV5ShjrGwEOORXQpUFQ6sGCbt/kUG2psHPGSoXG\n\tdT3E+YdqzEarWN1CvhDPR1041j8HjmggwCEIHOAewW8K+xh0rVUjzvJLH7f9REJOycQV\n\tdRxjgn9r/xhx4mwCIM4Vhgu73pVTh37gU7xJzBrNKMeatUeM9qM3IzlQwKHIhQHP4cks\n\trY6A8tjKH6KdbwmeFBATmslnbjGSmebWH8P+x3Dltl3r/xNZ+1OTtDWl8isNzEhp6cf3\n\tJZ8g==","X-Gm-Message-State":"AOAM532F65ivRCu5jp9y12NxTPRwjuO0jQuLl7Z8Ok4epNrG1R08H/lc\n\taFCKztWpptSwz7C+ukgeKo03fv0qFUq9rFPdxd9pG6dXHJ8=","X-Google-Smtp-Source":"ABdhPJzLrrKye5YjOKjHPrw2hIlSXkaL4J2lvcB0b87NlvZLi9YH/Wz+71bFl6eL9Bis01ZeLab5qrEkXzTenHpTce4=","X-Received":"by 2002:a17:906:2a48:: with SMTP id\n\tk8mr47012304eje.758.1641438412526; \n\tWed, 05 Jan 2022 19:06:52 -0800 (PST)","MIME-Version":"1.0","References":"<20211203164619.1541033-1-hiroh@chromium.org>","In-Reply-To":"<20211203164619.1541033-1-hiroh@chromium.org>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Thu, 6 Jan 2022 12:06:41 +0900","Message-ID":"<CAO5uPHPmPJMJgF6RiW8EGqivw_xUkFY7S_CoKBg5_+np0DvG+g@mail.gmail.com>","To":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 0/7] Apply clang thread safety\n\tannotation libcamera-core and v4l2","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]