From debbef650e72298d5c9545e02b1266899d4ad832 Mon Sep 17 00:00:00 2001 From: christian mueller Date: Fri, 23 Mar 2012 13:09:35 +0100 Subject: * [GAM-44] adds threadsafeness to DltWrapper Signed-off-by: christian mueller --- include/shared/CAmDltWrapper.h | 63 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) (limited to 'include') diff --git a/include/shared/CAmDltWrapper.h b/include/shared/CAmDltWrapper.h index f34e35e..7a55626 100644 --- a/include/shared/CAmDltWrapper.h +++ b/include/shared/CAmDltWrapper.h @@ -88,6 +88,7 @@ namespace am class CAmDltWrapper { public: + static pthread_mutex_t logMutex; static CAmDltWrapper* instance(const bool enableNoDLTDebug = false); void registerApp(const char *appid, const char * description); void registerContext(DltContext& handle, const char *contextid, const char * description); @@ -136,9 +137,11 @@ inline CAmDltWrapper* getWrapper() template void logInfo(T value) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -149,10 +152,12 @@ template void logInfo(T value) template void logInfo(T value, T1 value1) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -164,11 +169,13 @@ template void logInfo(T value, T1 value1) template void logInfo(T value, T1 value1, T2 value2) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); inst->append(value2); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -181,12 +188,14 @@ template void logInfo(T value, T1 value1, template void logInfo(T value, T1 value1, T2 value2, T3 value3) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); inst->append(value2); inst->append(value3); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -200,6 +209,7 @@ template void logInfo(T value template void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); @@ -207,6 +217,7 @@ template void lo inst->append(value3); inst->append(value4); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -221,6 +232,7 @@ template void lo template void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); @@ -229,6 +241,7 @@ templateappend(value4); inst->append(value5); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -244,6 +257,7 @@ template void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); @@ -253,6 +267,7 @@ templateappend(value5); inst->append(value6); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -269,6 +284,7 @@ template void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); @@ -279,6 +295,7 @@ templateappend(value6); inst->append(value7); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -296,6 +313,7 @@ template void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); @@ -307,6 +325,7 @@ templateappend(value7); inst->append(value8); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -325,6 +344,7 @@ template void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); @@ -337,6 +357,7 @@ templateappend(value8); inst->append(value9); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -356,6 +377,7 @@ template void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_INFO); inst->append(value); inst->append(value1); @@ -369,6 +391,7 @@ templateappend(value9); inst->append(value10); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -378,9 +401,11 @@ template void logError(T value) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -391,10 +416,12 @@ template void logError(T value) template void logError(T value, T1 value1) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -406,11 +433,13 @@ template void logError(T value, T1 value1) template void logError(T value, T1 value1, T2 value2) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); inst->append(value2); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -423,12 +452,14 @@ template void logError(T value, T1 value1, template void logError(T value, T1 value1, T2 value2, T3 value3) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); inst->append(value2); inst->append(value3); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -442,6 +473,7 @@ template void logError(T valu template void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); @@ -449,6 +481,7 @@ template void lo inst->append(value3); inst->append(value4); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -463,6 +496,7 @@ template void lo template void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); @@ -471,6 +505,7 @@ templateappend(value4); inst->append(value5); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -486,6 +521,7 @@ template void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); @@ -495,6 +531,7 @@ templateappend(value5); inst->append(value6); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -511,6 +548,7 @@ template void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); @@ -521,6 +559,7 @@ templateappend(value6); inst->append(value7); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -538,6 +577,7 @@ template void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); @@ -549,6 +589,7 @@ templateappend(value7); inst->append(value8); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -567,6 +608,7 @@ template void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); @@ -579,6 +621,7 @@ templateappend(value8); inst->append(value9); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -598,6 +641,7 @@ template void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(DLT_LOG_ERROR); inst->append(value); inst->append(value1); @@ -611,6 +655,7 @@ templateappend(value9); inst->append(value10); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -622,9 +667,11 @@ template void log(DltContext* const context, DltLogLevelType loglevel, T value) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -637,10 +684,12 @@ template void log(DltContext* const context, DltLogLevelType logleve template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -654,11 +703,13 @@ template void log(DltContext* const context, DltLogLeve template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); inst->append(value2); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -673,12 +724,14 @@ template void log(DltContext* const contex template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); inst->append(value2); inst->append(value3); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -694,6 +747,7 @@ template void log(DltContext* template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); @@ -701,6 +755,7 @@ template void lo inst->append(value3); inst->append(value4); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -717,6 +772,7 @@ template void lo template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); @@ -725,6 +781,7 @@ templateappend(value4); inst->append(value5); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -742,6 +799,7 @@ template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); @@ -751,6 +809,7 @@ templateappend(value5); inst->append(value6); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -769,6 +828,7 @@ template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); @@ -779,6 +839,7 @@ templateappend(value6); inst->append(value7); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } /** @@ -798,6 +859,7 @@ template void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8) { CAmDltWrapper* inst(getWrapper()); + pthread_mutex_lock(&inst->logMutex); inst->init(loglevel, context); inst->append(value); inst->append(value1); @@ -809,6 +871,7 @@ templateappend(value7); inst->append(value8); inst->send(); + pthread_mutex_unlock(&inst->logMutex); } } -- cgit v1.2.1