From f611eddadde74138290ad684a56bf7896e4d47cf Mon Sep 17 00:00:00 2001
From: baumanta <baumanta@student.ethz.ch>
Date: Tue, 6 Nov 2018 10:24:41 +0100
Subject: [PATCH] unadvertise publishers in the destructor

---
 src/lib/CollisionAvoidance/CollisionAvoidance.cpp | 10 ++++++++++
 src/lib/CollisionAvoidance/CollisionAvoidance.hpp |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/lib/CollisionAvoidance/CollisionAvoidance.cpp b/src/lib/CollisionAvoidance/CollisionAvoidance.cpp
index 1afc2f5c26..9b712cc553 100644
--- a/src/lib/CollisionAvoidance/CollisionAvoidance.cpp
+++ b/src/lib/CollisionAvoidance/CollisionAvoidance.cpp
@@ -46,6 +46,16 @@ CollisionAvoidance::CollisionAvoidance() :
 
 }
 
+CollisionAvoidance::~CollisionAvoidance(){
+	//unadvertise publishers
+	if (_constraints_pub != nullptr) {
+		orb_unadvertise(_constraints_pub);
+	}
+	if (_mavlink_log_pub != nullptr) {
+		orb_unadvertise(_mavlink_log_pub);
+	}
+}
+
 bool CollisionAvoidance::initializeSubscriptions(SubscriptionArray &subscription_array)
 {
 	if (!subscription_array.get(ORB_ID(obstacle_distance), _sub_obstacle_distance)) {
diff --git a/src/lib/CollisionAvoidance/CollisionAvoidance.hpp b/src/lib/CollisionAvoidance/CollisionAvoidance.hpp
index 39a05c9bd0..66a72d75d4 100644
--- a/src/lib/CollisionAvoidance/CollisionAvoidance.hpp
+++ b/src/lib/CollisionAvoidance/CollisionAvoidance.hpp
@@ -63,7 +63,7 @@ class CollisionAvoidance : public ModuleParams
 public:
 	CollisionAvoidance();
 
-	~CollisionAvoidance() = default;
+	~CollisionAvoidance();
 
 	/**
 	 * Initialize the uORB subscriptions using an array
-- 
GitLab