diff options
-rw-r--r-- | src/components/telemetry_monitor/src/telemetry_monitor.cc | 3 | ||||
-rw-r--r-- | src/components/utils/src/timer.cc | 2 |
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"); |