From 7128815d6cd5106441f7be5454a8a7375c8ac1ab Mon Sep 17 00:00:00 2001 From: christian linke Date: Tue, 30 Oct 2012 17:52:13 +0100 Subject: * make DLTWrapper unregister itself before exiting Signed-off-by: christian linke --- AudioManagerDaemon/src/CAmControlReceiver.cpp | 2 ++ AudioManagerDaemon/src/CAmDltWrapper.cpp | 10 ++++++++++ include/shared/CAmDltWrapper.h | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/AudioManagerDaemon/src/CAmControlReceiver.cpp b/AudioManagerDaemon/src/CAmControlReceiver.cpp index 583ad0d..6960fd0 100644 --- a/AudioManagerDaemon/src/CAmControlReceiver.cpp +++ b/AudioManagerDaemon/src/CAmControlReceiver.cpp @@ -485,6 +485,8 @@ void CAmControlReceiver::confirmControllerRundown() { logInfo ("CAmControlReceiver::confirmControllerRundown(), exiting regularly"); //once the controller is ready, it will exit. + CAmDltWrapper* inst(getWrapper()); + inst->deinit(); exit (0); //todo: one time implement here system interaction with NSM } diff --git a/AudioManagerDaemon/src/CAmDltWrapper.cpp b/AudioManagerDaemon/src/CAmDltWrapper.cpp index 51ab7ce..c8fe8e1 100644 --- a/AudioManagerDaemon/src/CAmDltWrapper.cpp +++ b/AudioManagerDaemon/src/CAmDltWrapper.cpp @@ -52,6 +52,13 @@ void CAmDltWrapper::unregisterContext(DltContext & handle) #endif } +void CAmDltWrapper::deinit() +{ +#ifdef WITH_DLT + unregisterContext(mDltContext); +#endif +} + CAmDltWrapper::CAmDltWrapper(const bool enableNoDLTDebug) : #ifndef WITH_DLT mEnableNoDLTDebug(enableNoDLTDebug), @@ -244,7 +251,10 @@ void CAmDltWrapper::enableNoDLTDebug(const bool enableNoDLTDebug) CAmDltWrapper::~CAmDltWrapper() { if (mpDLTWrapper) + { + mpDLTWrapper->unregisterContext(mDltContext); delete mpDLTWrapper; + } } } diff --git a/include/shared/CAmDltWrapper.h b/include/shared/CAmDltWrapper.h index a29bf2e..9eae51e 100644 --- a/include/shared/CAmDltWrapper.h +++ b/include/shared/CAmDltWrapper.h @@ -95,6 +95,7 @@ public: void unregisterContext(DltContext& handle); void init(DltLogLevelType loglevel, DltContext* context = NULL); + void deinit(); void send(); void append(const int8_t value); void append(const uint8_t value); @@ -148,7 +149,7 @@ template void logInfo(T value) /** * logs a given value with infolevel with the default context * @param value - * @param value1 + * @param value1mDltContext */ template void logInfo(T value, T1 value1) { -- cgit v1.2.1