[libcamera-devel] [PATCH v2 09/13] libcamera: v4l2_subdevice: Close subdevice when destroyed

Jacopo Mondi jacopo at jmondi.org
Wed Apr 17 10:03:13 CEST 2019


Hi Laurent,
   I was surprised as well we didn't have this!

Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

On Wed, Apr 17, 2019 at 01:08:35AM +0300, Laurent Pinchart wrote:
> Make sure the subdevice file descriptor isn't leaked by closing it when
> the V4L2Subdevice instance is destroyed.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  src/libcamera/include/v4l2_subdevice.h | 1 +
>  src/libcamera/v4l2_subdevice.cpp       | 5 +++++
>  2 files changed, 6 insertions(+)
>
> diff --git a/src/libcamera/include/v4l2_subdevice.h b/src/libcamera/include/v4l2_subdevice.h
> index c71dce7d8644..e592d67dd043 100644
> --- a/src/libcamera/include/v4l2_subdevice.h
> +++ b/src/libcamera/include/v4l2_subdevice.h
> @@ -35,6 +35,7 @@ public:
>  	explicit V4L2Subdevice(const MediaEntity *entity);
>  	V4L2Subdevice(const V4L2Subdevice &) = delete;
>  	V4L2Subdevice &operator=(const V4L2Subdevice &) = delete;
> +	~V4L2Subdevice();
>
>  	int open();
>  	bool isOpen() const;
> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp
> index e34cc1693b46..a03fadfd579e 100644
> --- a/src/libcamera/v4l2_subdevice.cpp
> +++ b/src/libcamera/v4l2_subdevice.cpp
> @@ -112,6 +112,11 @@ V4L2Subdevice::V4L2Subdevice(const MediaEntity *entity)
>  {
>  }
>
> +V4L2Subdevice::~V4L2Subdevice()
> +{
> +	close();
> +}
> +
>  /**
>   * \brief Open a V4L2 subdevice
>   *
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20190417/016ca56f/attachment.sig>


More information about the libcamera-devel mailing list