[{"id":18059,"web_url":"https://patchwork.libcamera.org/comment/18059/","msgid":"<3b55d581-721f-2300-8f70-bcaaa92c91d8@ideasonboard.com>","date":"2021-07-09T14:20:40","subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: v4l2_videodevice:\n\tClear cache_ in ~V4L2BufferCache()","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Umang,\n\nOn 09/07/2021 12:47, Umang Jain wrote:\n> This shall help release any taken reference, just in case.\n> \n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>  src/libcamera/v4l2_videodevice.cpp | 2 ++\n>  1 file changed, 2 insertions(+)\n> \n> diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> index da2af6a1..1e33571c 100644\n> --- a/src/libcamera/v4l2_videodevice.cpp\n> +++ b/src/libcamera/v4l2_videodevice.cpp\n> @@ -190,6 +190,8 @@ V4L2BufferCache::~V4L2BufferCache()\n>  {\n>  \tif (missCounter_ > cache_.size())\n>  \t\tLOG(V4L2, Debug) << \"Cache misses: \" << missCounter_;\n> +\n> +\tcache_.clear();\n\nThis isn't needed as far as I'm aware.\n\ncache_ is a vector<Entry> so upon destructor, the destructors of all the\nelements contained with in it are called, before the memory is freed:\n\n  https://en.cppreference.com/w/cpp/container/vector/~vector\n\n--\nKieran\n\n>  }\n>  \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 2AC79C3224\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  9 Jul 2021 14:20:46 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9DE93684E7;\n\tFri,  9 Jul 2021 16:20:45 +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 9140A605AC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  9 Jul 2021 16:20:43 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 17F0B466;\n\tFri,  9 Jul 2021 16:20:43 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"dJesDa6s\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1625840443;\n\tbh=od/ZIovjjvaGVy/9PNs/NFXafcCuOxlN2MrVs6PnCQk=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=dJesDa6s1S9vfIpTUD6+GGwZnKtFAAlYzNRSmbPb4DHsLeOUXVcV9Oy3JQiD7xgp3\n\temQp5nqMgM4ThtxYYvmYJ7hAocADKa2fABDNTnuzUBmRcijV8brk6oSnbHDObIaD8j\n\tn/ZVzmwaA4SqLt6l6Gr71nmyOoqlmkt9HOJ3AS2Q=","To":"Umang Jain <umang.jain@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210709114736.875760-1-umang.jain@ideasonboard.com>\n\t<20210709114736.875760-2-umang.jain@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<3b55d581-721f-2300-8f70-bcaaa92c91d8@ideasonboard.com>","Date":"Fri, 9 Jul 2021 15:20:40 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.11.0","MIME-Version":"1.0","In-Reply-To":"<20210709114736.875760-2-umang.jain@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: v4l2_videodevice:\n\tClear cache_ in ~V4L2BufferCache()","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>"}},{"id":18063,"web_url":"https://patchwork.libcamera.org/comment/18063/","msgid":"<20210709160410.vf74rldimwglspbg@uno.localdomain>","date":"2021-07-09T16:04:10","subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: v4l2_videodevice:\n\tClear cache_ in ~V4L2BufferCache()","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Umang, Kieran,\n\nOn Fri, Jul 09, 2021 at 03:20:40PM +0100, Kieran Bingham wrote:\n> Hi Umang,\n>\n> On 09/07/2021 12:47, Umang Jain wrote:\n> > This shall help release any taken reference, just in case.\n> >\n> > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> > ---\n> >  src/libcamera/v4l2_videodevice.cpp | 2 ++\n> >  1 file changed, 2 insertions(+)\n> >\n> > diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> > index da2af6a1..1e33571c 100644\n> > --- a/src/libcamera/v4l2_videodevice.cpp\n> > +++ b/src/libcamera/v4l2_videodevice.cpp\n> > @@ -190,6 +190,8 @@ V4L2BufferCache::~V4L2BufferCache()\n> >  {\n> >  \tif (missCounter_ > cache_.size())\n> >  \t\tLOG(V4L2, Debug) << \"Cache misses: \" << missCounter_;\n> > +\n> > +\tcache_.clear();\n>\n> This isn't needed as far as I'm aware.\n>\n> cache_ is a vector<Entry> so upon destructor, the destructors of all the\n> elements contained with in it are called, before the memory is freed:\n>\n>   https://en.cppreference.com/w/cpp/container/vector/~vector\n\nThat's my understanding as well!\n\nThanks\n  j\n\n>\n> --\n> Kieran\n>\n> >  }\n> >\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 4D4CDC3224\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  9 Jul 2021 16:03:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9E0C86851B;\n\tFri,  9 Jul 2021 18:03:24 +0200 (CEST)","from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net\n\t[217.70.183.198])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A93CE605AC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  9 Jul 2021 18:03:22 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby relay6-d.mail.gandi.net (Postfix) with ESMTPSA id ED934C0009;\n\tFri,  9 Jul 2021 16:03:21 +0000 (UTC)"],"Date":"Fri, 9 Jul 2021 18:04:10 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20210709160410.vf74rldimwglspbg@uno.localdomain>","References":"<20210709114736.875760-1-umang.jain@ideasonboard.com>\n\t<20210709114736.875760-2-umang.jain@ideasonboard.com>\n\t<3b55d581-721f-2300-8f70-bcaaa92c91d8@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<3b55d581-721f-2300-8f70-bcaaa92c91d8@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: v4l2_videodevice:\n\tClear cache_ in ~V4L2BufferCache()","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":18083,"web_url":"https://patchwork.libcamera.org/comment/18083/","msgid":"<YOtTg7iWKvcIFmk9@pendragon.ideasonboard.com>","date":"2021-07-11T20:24:35","subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: v4l2_videodevice:\n\tClear cache_ in ~V4L2BufferCache()","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Fri, Jul 09, 2021 at 06:04:10PM +0200, Jacopo Mondi wrote:\n> Hi Umang, Kieran,\n> \n> On Fri, Jul 09, 2021 at 03:20:40PM +0100, Kieran Bingham wrote:\n> > Hi Umang,\n> >\n> > On 09/07/2021 12:47, Umang Jain wrote:\n> > > This shall help release any taken reference, just in case.\n> > >\n> > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> > > ---\n> > >  src/libcamera/v4l2_videodevice.cpp | 2 ++\n> > >  1 file changed, 2 insertions(+)\n> > >\n> > > diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> > > index da2af6a1..1e33571c 100644\n> > > --- a/src/libcamera/v4l2_videodevice.cpp\n> > > +++ b/src/libcamera/v4l2_videodevice.cpp\n> > > @@ -190,6 +190,8 @@ V4L2BufferCache::~V4L2BufferCache()\n> > >  {\n> > >  \tif (missCounter_ > cache_.size())\n> > >  \t\tLOG(V4L2, Debug) << \"Cache misses: \" << missCounter_;\n> > > +\n> > > +\tcache_.clear();\n> >\n> > This isn't needed as far as I'm aware.\n> >\n> > cache_ is a vector<Entry> so upon destructor, the destructors of all the\n> > elements contained with in it are called, before the memory is freed:\n> >\n> >   https://en.cppreference.com/w/cpp/container/vector/~vector\n> \n> That's my understanding as well!\n\nDitto.\n\n> > >  }\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 D53CBBD794\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 11 Jul 2021 20:25:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8FBBA6851D;\n\tSun, 11 Jul 2021 22:25:22 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7BE3A68519\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 11 Jul 2021 22:25:21 +0200 (CEST)","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 224E6CC;\n\tSun, 11 Jul 2021 22:25:21 +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=\"B36ZXmII\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1626035121;\n\tbh=M90N0D1r6jXe9od5hCtvOF4g0TCpiVbsPUN1AL080J8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=B36ZXmII0oxrhGyaBBtYsUw2aMy/w3VPdybC5LTzv21OoJRt4nV2CQXPQKSapXrH7\n\t3y7ZxkIL2w/e4yP9w5kJ8nrSm8HsopX0TGbxo9/r7ejyHDc7hrmEK1YJAGatrUm2Z7\n\t3AWbL7TPvfgTVnin9OcPx63XAJrkwQoVO6isw3aM=","Date":"Sun, 11 Jul 2021 23:24:35 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<YOtTg7iWKvcIFmk9@pendragon.ideasonboard.com>","References":"<20210709114736.875760-1-umang.jain@ideasonboard.com>\n\t<20210709114736.875760-2-umang.jain@ideasonboard.com>\n\t<3b55d581-721f-2300-8f70-bcaaa92c91d8@ideasonboard.com>\n\t<20210709160410.vf74rldimwglspbg@uno.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210709160410.vf74rldimwglspbg@uno.localdomain>","Subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: v4l2_videodevice:\n\tClear cache_ in ~V4L2BufferCache()","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>"}}]