diff options
Diffstat (limited to 'src/lib/dlt_user.c.rej')
-rw-r--r-- | src/lib/dlt_user.c.rej | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/lib/dlt_user.c.rej b/src/lib/dlt_user.c.rej new file mode 100644 index 0000000..c197d0d --- /dev/null +++ b/src/lib/dlt_user.c.rej @@ -0,0 +1,62 @@ +--- src/lib/dlt_user.c ++++ src/lib/dlt_user.c +@@ -501,48 +501,21 @@ int dlt_user_atexit_blow_out_user_buffer(void){ + + uint32_t exitTime = dlt_uptime() + DLT_USER_ATEXIT_RESEND_BUFFER_EXIT_TIMEOUT; + +- /* Send content of ringbuffer */ +- DLT_SEM_LOCK(); +- count = dlt_buffer_get_message_count(&(dlt_user.startup_buffer)); +- DLT_SEM_FREE(); +- +- if (count > 0) +- { +- while(dlt_uptime() < exitTime ) +- { +- if (dlt_user.dlt_log_handle == -1) +- { +- /* Reattach to daemon if neccesary */ +- dlt_user_log_reattach_to_daemon(); ++ while(dlt_uptime() < exitTime ){ + +- if ((dlt_user.dlt_log_handle != -1) && (dlt_user.overflow_counter)) +- { +- if (dlt_user_log_send_overflow()==0) +- { +- snprintf(str,DLT_USER_BUFFER_LENGTH,"%u messages discarded!\n",dlt_user.overflow_counter); +- dlt_log(LOG_WARNING, str); +- dlt_user.overflow_counter=0; +- } +- } +- } +- +- if (dlt_user.dlt_log_handle != -1) +- { +- ret = dlt_user_log_resend_buffer(); ++ ret = dlt_user_log_resend_buffer(); + +- if(ret == 0) +- { +- return 0; +- } +- } ++ if(ret == 0) ++ { ++ return 0; ++ } + +- usleep(DLT_USER_ATEXIT_RESEND_BUFFER_SLEEP); +- } ++ usleep(DLT_USER_ATEXIT_RESEND_BUFFER_SLEEP); ++ } + +- DLT_SEM_LOCK(); +- count = dlt_buffer_get_message_count(&(dlt_user.startup_buffer)); +- DLT_SEM_FREE(); +- } ++ DLT_SEM_LOCK(); ++ count = dlt_buffer_get_message_count(&(dlt_user.startup_buffer)); ++ DLT_SEM_FREE(); + + return count; + } |