From b4932b9d3f3f9b11c1b58ce253669a4fcd14b7ee Mon Sep 17 00:00:00 2001 From: Sascha Philipp Date: Mon, 22 Sep 2014 11:31:58 +0200 Subject: Fix daemon state handling with offline trace Change-Id: I630f8131c26452a31cfbd825404cd34ea80ea80d Signed-off-by: Sascha Philipp --- src/daemon/dlt-daemon.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c index df6c567..8e4a82b 100644 --- a/src/daemon/dlt-daemon.c +++ b/src/daemon/dlt-daemon.c @@ -485,7 +485,8 @@ int main(int argc, char* argv[]) create_timer_fd(&daemon_local, 60, 60, &daemon_local.timer_sixty_s, "ECU version"); } - if(daemon_local.flags.yvalue[0] || (daemon_local.flags.offlineTraceDirectory[0])) + if(daemon_local.flags.yvalue[0] || + ((daemon_local.flags.offlineTraceDirectory[0]) && ((daemon.mode == DLT_USER_MODE_INTERNAL) || (daemon.mode == DLT_USER_MODE_BOTH)))) dlt_daemon_change_state(&daemon,DLT_DAEMON_STATE_SEND_DIRECT); else dlt_daemon_change_state(&daemon,DLT_DAEMON_STATE_BUFFER); @@ -2681,7 +2682,10 @@ int dlt_daemon_close_socket(int sock, DltDaemon *daemon, DltDaemonLocal *daemon_ /* send new log state to all applications */ daemon->connectionState = 0; dlt_daemon_user_send_all_log_state(daemon,verbose); - dlt_daemon_change_state(daemon,DLT_DAEMON_STATE_BUFFER); + + if((daemon_local->flags.yvalue[0] == 0) && + ((daemon_local->flags.offlineTraceDirectory[0] == 0) || (daemon->mode == DLT_USER_MODE_EXTERNAL))) + dlt_daemon_change_state(daemon,DLT_DAEMON_STATE_BUFFER); } if (daemon_local->flags.vflag) -- cgit v1.2.1