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

Message ID 20190418141437.14014-10-laurent.pinchart@ideasonboard.com
State Accepted
Headers show
Series
  • Rockchip ISP pipeline handler
Related show

Commit Message

Laurent Pinchart April 18, 2019, 2:14 p.m. UTC
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@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/include/v4l2_subdevice.h | 1 +
 src/libcamera/v4l2_subdevice.cpp       | 5 +++++
 2 files changed, 6 insertions(+)

Patch

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
  *