summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/telemetry_monitor/src/telemetry_monitor.cc3
-rw-r--r--src/components/utils/src/timer.cc2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/components/telemetry_monitor/src/telemetry_monitor.cc b/src/components/telemetry_monitor/src/telemetry_monitor.cc
index e2f45b7576..f6cac49f59 100644
--- a/src/components/telemetry_monitor/src/telemetry_monitor.cc
+++ b/src/components/telemetry_monitor/src/telemetry_monitor.cc
@@ -107,6 +107,9 @@ void TelemetryMonitor::Stop() {
if (thread_) {
thread_->stop();
thread_->join();
+ if (thread_->delegate()) {
+ streamer_.reset();
+ }
threads::DeleteThread(thread_);
}
thread_ = NULL;
diff --git a/src/components/utils/src/timer.cc b/src/components/utils/src/timer.cc
index d89c7277af..8e854654de 100644
--- a/src/components/utils/src/timer.cc
+++ b/src/components/utils/src/timer.cc
@@ -65,8 +65,8 @@ timer::Timer::~Timer() {
StopDelegate();
single_shot_ = true;
- DeleteThread(thread_);
delegate_.reset();
+ DeleteThread(thread_);
DCHECK(task_);
delete task_;
LOG4CXX_DEBUG(logger_, "Timer " << name_ << " has been destroyed");