{"id":22862,"url":"https://patchwork.libcamera.org/api/1.1/patches/22862/?format=json","web_url":"https://patchwork.libcamera.org/patch/22862/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20250225150614.20195-7-mzamazal@redhat.com>","date":"2025-02-25T15:06:12","name":"[v3,6/6] utils: ipc: Only dispatch messages for proxy when stopping thread","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"82c2bf0ddbadc748b4a4c93c7e842b9036f47fb5","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/1.1/people/177/?format=json","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22862/mbox/","series":[{"id":5019,"url":"https://patchwork.libcamera.org/api/1.1/series/5019/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5019","date":"2025-02-25T15:06:06","name":"Fix occasional software ISP assertion error on stop","version":3,"mbox":"https://patchwork.libcamera.org/series/5019/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22862/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22862/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 44B59BDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 25 Feb 2025 15:06:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9752B68733;\n\tTue, 25 Feb 2025 16:06:47 +0100 (CET)","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 DC0AE6872E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 25 Feb 2025 16:06:42 +0100 (CET)","from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com\n\t(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63])\n\tby relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n\tcipher=TLS_AES_256_GCM_SHA384) id us-mta-593-L2vzkXk5Po-uRLvdc4CVog-1;\n\tTue, 25 Feb 2025 10:06:39 -0500","from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com\n\t(mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com\n\t[10.30.177.93])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTPS id B762019373DC; Tue, 25 Feb 2025 15:06:38 +0000 (UTC)","from mzamazal-thinkpadp1gen7.tpbc.com (unknown [10.45.224.119])\n\tby mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTP id CE455180035F; Tue, 25 Feb 2025 15:06:36 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"VOO4hd/W\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1740496001;\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\tin-reply-to:in-reply-to:references:references;\n\tbh=ZuPCzEfx4qxZr/u+d34K/HNNhtVHIfsTeqRhlZHqItM=;\n\tb=VOO4hd/W882QgCKZfKM4jbd86dDKspUF57JAHyBT8+R+0bgfuc19NleKkeWnw0dhgUZUr0\n\tPiF1hKHyDBlPgewycPm/LYeOgCb+8ntDWAB6y1iaxu0+n/aUU0sh1y2kM1K3xZrohZDb/X\n\ttN4lzJCwl0xGJFdYi9v7K4XBAU3/f0U=","X-MC-Unique":"L2vzkXk5Po-uRLvdc4CVog-1","X-Mimecast-MFC-AGG-ID":"L2vzkXk5Po-uRLvdc4CVog_1740495998","From":"Milan Zamazal <mzamazal@redhat.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Milan Zamazal <mzamazal@redhat.com>,\n\tStanislaw Gruszka <stanislaw.gruszka@linux.intel.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>","Subject":"[PATCH v3 6/6] utils: ipc: Only dispatch messages for proxy when\n\tstopping thread","Date":"Tue, 25 Feb 2025 16:06:12 +0100","Message-ID":"<20250225150614.20195-7-mzamazal@redhat.com>","In-Reply-To":"<20250225150614.20195-1-mzamazal@redhat.com>","References":"<20250225150614.20195-1-mzamazal@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.93","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"UqBf8PDxMtU6gq6PmKVgKg3ybYGqtXVZRk60oxkXkuk_1740495998","X-Mimecast-Originator":"redhat.com","Content-Transfer-Encoding":"8bit","content-type":"text/plain; charset=\"US-ASCII\"; x-default=true","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>"},"content":"When stopping the proxy thread, all messages of InvokeMessage type\nposted to the pipeline handler thread are dispatched, to ensure that all\nsignals emitted from the proxy thread and queued for delivery to the\nproxy are delivered synchronously. This unnecessarily delivers queued\nsignals for other objects in the pipeline handler thread, possibly\ndelaying processing of higher priority events.\n\nImprove the implementation by limiting synchronous delivery to messages\nposted for the proxy.\n\nSigned-off-by: Milan Zamazal <mzamazal@redhat.com>\n---\n .../ipc/generators/libcamera_templates/proxy_functions.tmpl     | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)","diff":"diff --git a/utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl b/utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl\nindex b5797b14..25476990 100644\n--- a/utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl\n+++ b/utils/codegen/ipc/generators/libcamera_templates/proxy_functions.tmpl\n@@ -34,7 +34,7 @@\n \tthread_.exit();\n \tthread_.wait();\n \n-\tThread::current()->dispatchMessages(Message::Type::InvokeMessage);\n+\tThread::current()->dispatchMessages(Message::Type::InvokeMessage, this);\n \n \tstate_ = ProxyStopped;\n {%- endmacro -%}\n","prefixes":["v3","6/6"]}