[{"id":11805,"web_url":"https://patchwork.libcamera.org/comment/11805/","msgid":"<20200804022719.GB4893@pyrite.rasen.tech>","date":"2020-08-04T02:27:19","subject":"Re: [libcamera-devel] [PATCH] cam: Use the common cleanup function\n\ton failure","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Niklas,\n\nThank you for the patch.\n\nOn Tue, Aug 04, 2020 at 01:03:28AM +0200, Niklas Söderlund wrote:\n> The different error paths in init() are out of sync. Instead of fixing\n> them switch to using the cleanup() function which does to right thing in\n\ns/does to right thing in/does the right thing/\n\n> for all cases.\n>\n> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> ---\n\nGood catch.\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n>  src/cam/main.cpp | 9 +++++----\n>  1 file changed, 5 insertions(+), 4 deletions(-)\n> \n> diff --git a/src/cam/main.cpp b/src/cam/main.cpp\n> index ec59e9eaf1176a94..6761d63801bd19af 100644\n> --- a/src/cam/main.cpp\n> +++ b/src/cam/main.cpp\n> @@ -107,22 +107,23 @@ int CamApp::init(int argc, char **argv)\n>  \t\t\tstd::cout << \"Camera \"\n>  \t\t\t\t  << std::string(options_[OptCamera])\n>  \t\t\t\t  << \" not found\" << std::endl;\n> -\t\t\tcm_->stop();\n> +\t\t\tcleanup();\n>  \t\t\treturn -ENODEV;\n>  \t\t}\n>  \n>  \t\tif (camera_->acquire()) {\n>  \t\t\tstd::cout << \"Failed to acquire camera\" << std::endl;\n> -\t\t\tcamera_.reset();\n> -\t\t\tcm_->stop();\n> +\t\t\tcleanup();\n>  \t\t\treturn -EINVAL;\n>  \t\t}\n>  \n>  \t\tstd::cout << \"Using camera \" << camera_->name() << std::endl;\n>  \n>  \t\tret = prepareConfig();\n> -\t\tif (ret)\n> +\t\tif (ret) {\n> +\t\t\tcleanup();\n>  \t\t\treturn ret;\n> +\t\t}\n>  \t}\n>  \n>  \tif (options_.isSet(OptMonitor)) {\n> -- \n> 2.28.0\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 9D10EBD87A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  4 Aug 2020 02:27:29 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 20934605A9;\n\tTue,  4 Aug 2020 04:27:29 +0200 (CEST)","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 0C1A960393\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  4 Aug 2020 04:27:28 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 63A0E543;\n\tTue,  4 Aug 2020 04:27:26 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"gbzZoZMJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1596508047;\n\tbh=xo5ehlEOuaE+hyh5ovbienCie0W3VibqFLsWgrVh4tg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=gbzZoZMJxeC9JcUta0oHDkCuF+GJM60EHYghriIU0tnwGkvri2SgQnC1Ne1oE7lwD\n\tLv1iRpnkHqPpyRIzdwRgMLbDzvx63cObaak9qAIGdfSKa4jXHRG0lzIBRhIbKia/v0\n\t4wg6faIAKvVUItbIDfE7KhYQGBQWqJOSn9omBOA8=","Date":"Tue, 4 Aug 2020 11:27:19 +0900","From":"paul.elder@ideasonboard.com","To":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","Message-ID":"<20200804022719.GB4893@pyrite.rasen.tech>","References":"<20200803230328.1125040-1-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20200803230328.1125040-1-niklas.soderlund@ragnatech.se>","Subject":"Re: [libcamera-devel] [PATCH] cam: Use the common cleanup function\n\ton failure","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","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]