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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Apr 18 16:14:33 CEST 2019


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>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
---
 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



More information about the libcamera-devel mailing list