summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/policies/pt_exchange_handler_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/policies/pt_exchange_handler_impl.cc')
-rw-r--r--src/components/application_manager/src/policies/pt_exchange_handler_impl.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/components/application_manager/src/policies/pt_exchange_handler_impl.cc b/src/components/application_manager/src/policies/pt_exchange_handler_impl.cc
index e28455aa33..5a01e28d6d 100644
--- a/src/components/application_manager/src/policies/pt_exchange_handler_impl.cc
+++ b/src/components/application_manager/src/policies/pt_exchange_handler_impl.cc
@@ -35,6 +35,7 @@
#include "utils/logger.h"
#include "application_manager/policies/policy_handler.h"
#include "application_manager/policies/policy_retry_sequence.h"
+#include "utils/threads/thread_manager.h"
namespace policy {
@@ -42,7 +43,7 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "PolicyHandler")
PTExchangeHandlerImpl::PTExchangeHandlerImpl(PolicyHandler* handler)
: policy_handler_(handler),
- retry_sequence_("RetrySequence", new RetrySequence(handler)) {
+ retry_sequence_(threads::CreateThread("RetrySequence", new RetrySequence(handler))) {
DCHECK(policy_handler_);
LOG4CXX_INFO(logger_, "Exchan created");
}
@@ -56,20 +57,20 @@ void PTExchangeHandlerImpl::Start() {
sync_primitives::AutoLock locker(retry_sequence_lock_);
LOG4CXX_INFO(logger_, "Exchan started");
- if (retry_sequence_.is_running()) {
- retry_sequence_.stop();
- }
+ retry_sequence_->stop();
+ threads::DeleteThread(retry_sequence_);
+ retry_sequence_ = threads::CreateThread("RetrySequence", new RetrySequence(policy_handler_));
if (policy_handler_) {
policy_handler_->ResetRetrySequence();
}
- retry_sequence_.start();
+ retry_sequence_->start();
}
void PTExchangeHandlerImpl::Stop() {
sync_primitives::AutoLock locker(retry_sequence_lock_);
- if (retry_sequence_.is_running()) {
- retry_sequence_.stop();
+ if (retry_sequence_->is_running()) {
+ retry_sequence_->stop();
}
}