[{"id":21769,"web_url":"https://patchwork.libcamera.org/comment/21769/","msgid":"<YbdiEYq46JekacZ8@pendragon.ideasonboard.com>","date":"2021-12-13T15:09:05","subject":"Re: [libcamera-devel] [PATCH 1/2] test: fence: Check write return\n\tvalue","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nThank you for the patch.\n\nOn Mon, Dec 13, 2021 at 03:51:42PM +0100, Jacopo Mondi wrote:\n> The ::write() function used to signal a framebuffer fence in the unit\n> test is marked with the 'warn_unused_result'.\n> \n> When building in debugoptimized mode not checking for the return\n> value causes issues at build time:\n> /test/fence.cpp:254:2: error: ignoring return value of function declared with 'warn_unused_result' attribute\n> \n> Fix that by checking the ::write() return value and emitting an\n> error message in case the write fails.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nTested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  test/fence.cpp | 7 ++++++-\n>  1 file changed, 6 insertions(+), 1 deletion(-)\n> \n> diff --git a/test/fence.cpp b/test/fence.cpp\n> index d2dfc9b615a9..d2865398784e 100644\n> --- a/test/fence.cpp\n> +++ b/test/fence.cpp\n> @@ -251,7 +251,12 @@ void FenceTest::requestComplete(Request *request)\n>  void FenceTest::signalFence()\n>  {\n>  \tuint64_t value = 1;\n> -\twrite(efd2_, &value, sizeof(value));\n> +\tint ret;\n> +\n> +\tret = write(efd2_, &value, sizeof(value));\n> +\tif (ret != sizeof(value))\n> +\t\tcerr << \"Failed to signal fence\" << endl;\n> +\n>  \tdispatcher_->processEvents();\n>  }\n>","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 636C4BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 13 Dec 2021 15:09:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BA8496088B;\n\tMon, 13 Dec 2021 16:09:37 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AB41E60868\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 13 Dec 2021 16:09:36 +0100 (CET)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 162FF51C;\n\tMon, 13 Dec 2021 16:09:36 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"LTqIkBO2\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1639408176;\n\tbh=JFawa1jeNKo2O4zR1FLthiDtGjyBrjys/D1SwcA8i/E=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=LTqIkBO2lSKpEGrtr4SmO/dqila9i7mWn39yh/PBfxCoud+bdhg5A1a4UNjH8cCZZ\n\tGsxeiTeeztzLmOK3H5dG3KszSYViHYU20ihPnkg04ppT1tYdWCZgjebh/d9dpMaX0S\n\tOPiXpOg4jg11+g5YJmSSxf1P8ERlg7LdxuuoEirg=","Date":"Mon, 13 Dec 2021 17:09:05 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<YbdiEYq46JekacZ8@pendragon.ideasonboard.com>","References":"<20211213145143.218734-1-jacopo@jmondi.org>\n\t<20211213145143.218734-2-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20211213145143.218734-2-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH 1/2] test: fence: Check write return\n\tvalue","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":21771,"web_url":"https://patchwork.libcamera.org/comment/21771/","msgid":"<238b7def-c78b-47a2-e624-424b87b8e131@ideasonboard.com>","date":"2021-12-13T15:39:54","subject":"Re: [libcamera-devel] [PATCH 1/2] test: fence: Check write return\n\tvalue","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Jacopo,\n\nThanks for the patch.\n\nOn 12/13/21 8:21 PM, Jacopo Mondi wrote:\n> The ::write() function used to signal a framebuffer fence in the unit\n> test is marked with the 'warn_unused_result'.\n>\n> When building in debugoptimized mode not checking for the return\n> value causes issues at build time:\n> /test/fence.cpp:254:2: error: ignoring return value of function declared with 'warn_unused_result' attribute\n>\n> Fix that by checking the ::write() return value and emitting an\n> error message in case the write fails.\n>\n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n> ---\n>   test/fence.cpp | 7 ++++++-\n>   1 file changed, 6 insertions(+), 1 deletion(-)\n>\n> diff --git a/test/fence.cpp b/test/fence.cpp\n> index d2dfc9b615a9..d2865398784e 100644\n> --- a/test/fence.cpp\n> +++ b/test/fence.cpp\n> @@ -251,7 +251,12 @@ void FenceTest::requestComplete(Request *request)\n>   void FenceTest::signalFence()\n>   {\n>   \tuint64_t value = 1;\n> -\twrite(efd2_, &value, sizeof(value));\n> +\tint ret;\n> +\n> +\tret = write(efd2_, &value, sizeof(value));\n> +\tif (ret != sizeof(value))\n> +\t\tcerr << \"Failed to signal fence\" << endl;\n> +\n>   \tdispatcher_->processEvents();\n>   }\n>","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 625EABDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 13 Dec 2021 15:40:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B78EF60876;\n\tMon, 13 Dec 2021 16:40:05 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E1A1660868\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 13 Dec 2021 16:40:03 +0100 (CET)","from [IPv6:2401:4900:1f3e:37a3:270b:b541:a3a9:933b] (unknown\n\t[IPv6:2401:4900:1f3e:37a3:270b:b541:a3a9:933b])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EEF3451C;\n\tMon, 13 Dec 2021 16:40:01 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Hh768a90\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1639410003;\n\tbh=QlLMEzKahtrQDK+Cwo5GzprAnyx6Z0KLSyr0DDqABBI=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=Hh768a90j56SE7AxqtJjdiUJZHJmLuCaQs7sCdsKmoqZUpgdhVZIrR0ReABzU1NpA\n\trnDqiyzmfHePjCbgRAjLnC+sYHvz5cVvEsklRo3p8lVOevqSYWs5iAi7/rPXEWGmQa\n\tiZj/p3KeQ/fmKsjqmZyUiSv3GMsYxbpXntfJteIo=","To":"Jacopo Mondi <jacopo@jmondi.org>, libcamera-devel@lists.libcamera.org","References":"<20211213145143.218734-1-jacopo@jmondi.org>\n\t<20211213145143.218734-2-jacopo@jmondi.org>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<238b7def-c78b-47a2-e624-424b87b8e131@ideasonboard.com>","Date":"Mon, 13 Dec 2021 21:09:54 +0530","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.10.2","MIME-Version":"1.0","In-Reply-To":"<20211213145143.218734-2-jacopo@jmondi.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 1/2] test: fence: Check write return\n\tvalue","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>"}}]