summaryrefslogtreecommitdiff
path: root/src/lib/dlt_user.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/dlt_user.c')
-rw-r--r--src/lib/dlt_user.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
index 0530ba7..ab92c2d 100644
--- a/src/lib/dlt_user.c
+++ b/src/lib/dlt_user.c
@@ -1435,6 +1435,13 @@ DltReturnValue dlt_forward_msg(void *msgdata,size_t size)
if (ret < DLT_RETURN_OK)
{
DLT_SEM_LOCK();
+
+ if (ret == DLT_RETURN_PIPE_ERROR)
+ {
+ /* handle not open or pipe error */
+ close(dlt_user.dlt_log_handle);
+ dlt_user.dlt_log_handle = -1;
+ }
if (dlt_buffer_push3(&(dlt_user.startup_buffer),
(unsigned char *)&(userheader), sizeof(DltUserHeader),
@@ -3717,6 +3724,12 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, int mtype)
if ((ret!=DLT_RETURN_OK) || (dlt_user.appID[0] == '\0'))
{
DLT_SEM_LOCK();
+ if (ret == DLT_RETURN_PIPE_ERROR)
+ {
+ /* handle not open or pipe error */
+ close(dlt_user.dlt_log_handle);
+ dlt_user.dlt_log_handle = -1;
+ }
if (dlt_buffer_push3(&(dlt_user.startup_buffer),
(unsigned char *)&(userheader), sizeof(DltUserHeader),