summaryrefslogtreecommitdiff
path: root/src/daemon/dlt-daemon.c
diff options
context:
space:
mode:
authorSascha Philipp <sascha.philipp@continental-corporation.com>2014-09-22 11:31:58 +0200
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2015-03-25 17:12:07 +0100
commitb4932b9d3f3f9b11c1b58ce253669a4fcd14b7ee (patch)
tree19b021047c6f4db692e2d619b006f3599db5b452 /src/daemon/dlt-daemon.c
parent0975b0196f8614d00661ae05089e35b0505b602b (diff)
downloadDLT-daemon-b4932b9d3f3f9b11c1b58ce253669a4fcd14b7ee.tar.gz
Fix daemon state handling with offline trace
Change-Id: I630f8131c26452a31cfbd825404cd34ea80ea80d Signed-off-by: Sascha Philipp <sascha.philipp@continental-corporation.com>
Diffstat (limited to 'src/daemon/dlt-daemon.c')
-rw-r--r--src/daemon/dlt-daemon.c8
1 files 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)