summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dlt_user.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
index 0b00070..713bea3 100644
--- a/src/lib/dlt_user.c
+++ b/src/lib/dlt_user.c
@@ -63,6 +63,18 @@
#include "dlt_user_shared_cfg.h"
#include "dlt_user_cfg.h"
+#ifdef DLT_FATAL_LOG_RESET_ENABLE
+#define DLT_LOG_FATAL_RESET_TRAP(LOGLEVEL) \
+ do { \
+ if (LOGLEVEL == DLT_LOG_FATAL) { \
+ int *p = NULL; \
+ *p = 0; \
+ } \
+ } while(0)
+#else /* DLT_FATAL_LOG_RESET_ENABLE */
+#define DLT_LOG_FATAL_RESET_TRAP(LOGLEVEL)
+#endif /* DLT_FATAL_LOG_RESET_ENABLE */
+
static DltUser dlt_user;
static bool dlt_user_initialised = false;
static int dlt_user_freeing = 0;
@@ -1420,6 +1432,8 @@ inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextDat
DltReturnValue dlt_user_log_write_start_id(DltContext *handle, DltContextData *log, DltLogLevelType loglevel, uint32_t messageid)
{
+ DLT_LOG_FATAL_RESET_TRAP(loglevel);
+
// check nullpointer
if (handle == NULL || log == NULL)
return DLT_RETURN_WRONG_PARAMETER;