summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)