summaryrefslogtreecommitdiff
path: root/src/daemon/dlt_daemon_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/dlt_daemon_client.c')
-rw-r--r--src/daemon/dlt_daemon_client.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c
index c92601e..55413c5 100644
--- a/src/daemon/dlt_daemon_client.c
+++ b/src/daemon/dlt_daemon_client.c
@@ -2050,10 +2050,37 @@ void dlt_daemon_control_service_logstorage(int sock, DltDaemon *daemon, DltDaemo
/* Check if log level of running application needs to be reset */
dlt_daemon_logstorage_reset_application_loglevel(daemon, device_index, daemon_local->flags.offlineLogstorageMaxDevices, verbose);
- dlt_logstorage_device_disconnected(&(daemon->storage_handle[device_index]));
+ dlt_logstorage_device_disconnected(&(daemon->storage_handle[device_index]),
++ DLT_LOGSTORAGE_SYNC_ON_DEVICE_DISCONNECT);
dlt_daemon_control_service_response(sock, daemon, daemon_local, DLT_SERVICE_ID_OFFLINE_LOGSTORAGE, DLT_SERVICE_RESPONSE_OK, verbose);
}
+ /* Check for cache synchronization request from log storage ctrl app */
+ else if(req->connection_type == DLT_OFFLINE_LOGSTORAGE_SYNC_CACHES)
+ {
+ /* trigger logstorage to sync caches */
+ if (dlt_daemon_logstorage_sync_cache(daemon,
+ daemon_local,
+ req->mount_point,
+ verbose) == 0)
+ {
+ dlt_daemon_control_service_response(sock,
+ daemon,
+ daemon_local,
+ DLT_SERVICE_ID_OFFLINE_LOGSTORAGE,
+ DLT_SERVICE_RESPONSE_OK,
+ verbose);
+ }
+ else
+ {
+ dlt_daemon_control_service_response(sock,
+ daemon,
+ daemon_local,
+ DLT_SERVICE_ID_OFFLINE_LOGSTORAGE,
+ DLT_SERVICE_RESPONSE_ERROR,
+ verbose);
+ }
+ }
else
{
dlt_daemon_control_service_response(sock, daemon, daemon_local, DLT_SERVICE_ID_OFFLINE_LOGSTORAGE, DLT_SERVICE_RESPONSE_ERROR, verbose);