Cleanup epoll better in RockchipV4L2Reader

Signed-off-by: Ravago Jones <ravagojones@gmail.com>
Change-Id: Ic03707f59c8e738f0862e57921105d2bdd75b7b5
diff --git a/frc971/vision/v4l2_reader.cc b/frc971/vision/v4l2_reader.cc
index 9b4863e..6efb5c0 100644
--- a/frc971/vision/v4l2_reader.cc
+++ b/frc971/vision/v4l2_reader.cc
@@ -320,6 +320,8 @@
   epoll_->OnReadable(fd().get(), [this]() { OnImageReady(); });
 }
 
+RockchipV4L2Reader::~RockchipV4L2Reader() { epoll_->DeleteFd(fd().get()); }
+
 void RockchipV4L2Reader::OnImageReady() {
   if (!ReadLatestImage()) {
     return;
diff --git a/frc971/vision/v4l2_reader.h b/frc971/vision/v4l2_reader.h
index 182160d..d86539f 100644
--- a/frc971/vision/v4l2_reader.h
+++ b/frc971/vision/v4l2_reader.h
@@ -148,6 +148,8 @@
                      const std::string &device_name,
                      const std::string &image_sensor_subdev);
 
+  ~RockchipV4L2Reader();
+
   void SetExposure(size_t duration) override;
 
   void SetGain(size_t gain);