Explicitly delete can fds in CanLogger

Signed-off-by: Maxwell Henderson <mxwhenderson@gmail.com>
Change-Id: I1a80fcca8e226dcfa010369a2d8cf68d8bfad1ce
diff --git a/frc971/can_logger/can_logger.h b/frc971/can_logger/can_logger.h
index a144265..6bad877 100644
--- a/frc971/can_logger/can_logger.h
+++ b/frc971/can_logger/can_logger.h
@@ -33,6 +33,8 @@
   CanLogger(const CanLogger &) = delete;
   CanLogger &operator=(const CanLogger &) = delete;
 
+  ~CanLogger() { shm_event_loop_->epoll()->DeleteFd(fd_.get()); }
+
  private:
   void Poll();
 
@@ -40,6 +42,7 @@
   // Returns true if successful and false if the recieve buffer is empty.
   bool ReadFrame();
 
+  aos::ShmEventLoop *shm_event_loop_;
   aos::ScopedFD fd_;
   aos::Sender<CanFrame> frames_sender_;
 };