summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Philipp <sascha.philipp@continental-corporation.com>2014-04-24 10:14:23 +0200
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2015-03-25 17:12:03 +0100
commitfe775798ca3cfe8f0f8355b9bc7b1d325a876035 (patch)
treea1be7f8e4bee7bc81ce18c6d485ccf4cb2580677
parent8c424e0c59502259f0840f1cc83361cea9f4e37a (diff)
downloadDLT-daemon-fe775798ca3cfe8f0f8355b9bc7b1d325a876035.tar.gz
Reworked internal output
Change-Id: I371c1b234929fda46608f563f08cae141b97d0a9 Signed-off-by: Ralf Anton Beier <ralf.anton.beier@continental-corporation.com> Signed-off-by: Sascha Philipp <sascha.philipp@continental-corporation.com>
-rw-r--r--src/daemon/dlt-daemon.c333
-rw-r--r--src/daemon/dlt_daemon_client.c6
-rw-r--r--src/daemon/dlt_daemon_common.c24
-rw-r--r--src/daemon/dlt_daemon_socket.c12
-rw-r--r--src/lib/dlt_user.c57
-rwxr-xr-xsrc/shared/dlt_common.c215
-rw-r--r--src/shared/dlt_shm.c28
7 files changed, 385 insertions, 290 deletions
diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
index 621fcc9..fea6a4f 100644
--- a/src/daemon/dlt-daemon.c
+++ b/src/daemon/dlt-daemon.c
@@ -69,6 +69,9 @@
/** Global text output buffer, mainly used for creation of error/warning strings */
static char str[DLT_DAEMON_TEXTBUFSIZE];
+static int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local, char *str, int verbose);
+
+
/**
* Print usage information of tool.
*/
@@ -482,6 +485,8 @@ int main(int argc, char* argv[])
else
dlt_daemon_change_state(&daemon,DLT_DAEMON_STATE_BUFFER);
+ dlt_daemon_log_internal(&daemon, &daemon_local, "Daemon launched. Starting to output traces...", daemon_local.flags.vflag);
+
while (1)
{
@@ -493,7 +498,7 @@ int main(int argc, char* argv[])
/* retry if SIGINT was received, else error out */
if ( error != EINTR ) {
snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"select() failed: %s\n", strerror(error) );
- dlt_log(LOG_CRIT, str);
+ dlt_log(LOG_ERR, str);
return -1;
}
} /* if */
@@ -508,7 +513,7 @@ int main(int argc, char* argv[])
/* event from TCP server socket, new connection */
if (dlt_daemon_process_client_connect(&daemon, &daemon_local, daemon_local.flags.vflag)==-1)
{
- dlt_log(LOG_CRIT,"Connect to dlt client failed!\n");
+ dlt_log(LOG_ERR,"Connect to dlt client failed!\n");
return -1;
}
}
@@ -517,7 +522,7 @@ int main(int argc, char* argv[])
/* event from the FIFO happened */
if (dlt_daemon_process_user_messages(&daemon, &daemon_local, daemon_local.flags.vflag)==-1)
{
- dlt_log(LOG_CRIT,"Processing of messages from user connection failed!\n");
+ dlt_log(LOG_WARNING,"Processing of messages from user connection failed!\n");
return -1;
}
}
@@ -526,7 +531,7 @@ int main(int argc, char* argv[])
/* event from serial connection to client received */
if (dlt_daemon_process_client_messages_serial(&daemon, &daemon_local, daemon_local.flags.vflag)==-1)
{
- dlt_log(LOG_CRIT,"Processing of messages from serial connection failed!\n");
+ dlt_log(LOG_WARNING,"Processing of messages from serial connection failed!\n");
return -1;
}
}
@@ -546,7 +551,7 @@ int main(int argc, char* argv[])
if(sd_notify(0, "WATCHDOG=1") < 0)
{
- dlt_log(LOG_CRIT, "Could not reset systemd watchdog\n");
+ dlt_log(LOG_WARNING, "Could not reset systemd watchdog\n");
}
}
#endif
@@ -601,7 +606,7 @@ int main(int argc, char* argv[])
daemon_local.receiverSock.fd = i;
if (dlt_daemon_process_client_messages(&daemon, &daemon_local, daemon_local.flags.vflag)==-1)
{
- dlt_log(LOG_CRIT,"Processing of messages from client connection failed!\n");
+ dlt_log(LOG_WARNING,"Processing of messages from client connection failed!\n");
return -1;
}
} /* else */
@@ -609,6 +614,8 @@ int main(int argc, char* argv[])
} /* for */
} /* while */
+ dlt_daemon_log_internal(&daemon, &daemon_local, "Exiting Daemon...", daemon_local.flags.vflag);
+
dlt_daemon_local_cleanup(&daemon, &daemon_local, daemon_local.flags.vflag);
dlt_log(LOG_NOTICE, "Leaving DLT daemon\n");
@@ -633,7 +640,7 @@ int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, in
ret = sd_booted();
if(ret == 0){
- dlt_log(LOG_CRIT, "system not booted with systemd!\n");
+ dlt_log(LOG_CRIT, "System not booted with systemd!\n");
// return -1;
}
else if(ret < 0)
@@ -643,7 +650,7 @@ int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, in
}
else
{
- dlt_log(LOG_INFO, "system booted with systemd\n");
+ dlt_log(LOG_INFO, "System booted with systemd\n");
}
#endif
@@ -651,8 +658,8 @@ int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, in
ret=mkdir(DLT_USER_DIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH | S_ISVTX );
if (ret==-1 && errno != EEXIST)
{
- snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user dir %s cannot be created!\n", DLT_USER_DIR);
- dlt_log(LOG_ERR, str);
+ snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user dir %s cannot be created (%s)!\n", DLT_USER_DIR, strerror(errno));
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -660,8 +667,8 @@ int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, in
ret=chmod(DLT_USER_DIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IWOTH | S_IXOTH | S_ISGID | S_ISVTX );
if (ret==-1)
{
- snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user dir %s cannot be chmoded!\n", DLT_USER_DIR);
- dlt_log(LOG_ERR, str);
+ snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user dir %s cannot be chmoded (%s)!\n", DLT_USER_DIR, strerror(errno));
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -784,7 +791,7 @@ int dlt_daemon_local_init_p2(DltDaemon *daemon, DltDaemonLocal *daemon_local, in
daemon->ECUVersionString = malloc(DLT_DAEMON_TEXTBUFSIZE);
if(daemon->ECUVersionString==0)
{
- dlt_log(LOG_ERR,"Could not allocate memory for version string\n");
+ dlt_log(LOG_WARNING,"Could not allocate memory for version string\n");
return -1;
}
dlt_get_version(daemon->ECUVersionString,DLT_DAEMON_TEXTBUFSIZE);
@@ -814,16 +821,16 @@ int dlt_daemon_local_connection_init(DltDaemon *daemon, DltDaemonLocal *daemon_l
ret=mkfifo(DLT_USER_FIFO, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP );
if (ret==-1)
{
- snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user %s cannot be created!\n",DLT_USER_FIFO);
- dlt_log(LOG_ERR, str);
+ snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user %s cannot be created (%s)!\n",DLT_USER_FIFO, strerror(errno));
+ dlt_log(LOG_WARNING, str);
return -1;
} /* if */
daemon_local->fp = open(DLT_USER_FIFO, O_RDWR);
if (daemon_local->fp==-1)
{
- snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user %s cannot be opened!\n",DLT_USER_FIFO);
- dlt_log(LOG_ERR, str);
+ snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"FIFO user %s cannot be opened (%s)!\n",DLT_USER_FIFO, strerror(errno));
+ dlt_log(LOG_WARNING, str);
return -1;
} /* if */
@@ -887,7 +894,7 @@ int dlt_daemon_local_connection_init(DltDaemon *daemon, DltDaemonLocal *daemon_l
if (daemon_local->flags.vflag)
{
- dlt_log(LOG_INFO, "Serial init done\n");
+ dlt_log(LOG_DEBUG, "Serial init done\n");
}
}
else
@@ -926,7 +933,7 @@ int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_
struct stat s_buf;
if(fstat(fd, &s_buf) < 0)
{
- dlt_log(LOG_ERR, "Failed to stat ECU Software version file.\n");
+ dlt_log(LOG_WARNING, "Failed to stat ECU Software version file.\n");
fclose(f);
return -1;
}
@@ -936,7 +943,7 @@ int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_
off_t size = s_buf.st_size;
if(size >= DLT_DAEMON_TEXTBUFSIZE)
{
- dlt_log(LOG_ERR, "Too large file for ECU version.\n");
+ dlt_log(LOG_WARNING, "Too large file for ECU version.\n");
fclose(f);
return -1;
}
@@ -945,7 +952,7 @@ int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_
version = malloc(size + 1);
if(version==0)
{
- dlt_log(LOG_ERR, "Cannot allocate memory for ECU version.\n");
+ dlt_log(LOG_WARNING, "Cannot allocate memory for ECU version.\n");
fclose(f);
return -1;
}
@@ -955,14 +962,14 @@ int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_
offset += fread(version + offset, 1, size, f);
if(ferror(f))
{
- dlt_log(LOG_ERR, "Failed to read ECU Software version file.\n");
+ dlt_log(LOG_WARNING, "Failed to read ECU Software version file.\n");
free(version);
fclose(f);
return -1;
}
if(offset > size)
{
- dlt_log(LOG_ERR, "Too long file for ECU Software version info.\n");
+ dlt_log(LOG_WARNING, "Too long file for ECU Software version info.\n");
free(version);
fclose(f);
return -1;
@@ -1092,9 +1099,9 @@ void dlt_daemon_daemonize(int verbose)
if (-1 < i)
{
if(dup(i) < 0)
- dlt_log(LOG_ERR, "Failed to direct stdout to /dev/null.\n");/* stdout */
+ dlt_log(LOG_WARNING, "Failed to direct stdout to /dev/null.\n");/* stdout */
if(dup(i) < 0)
- dlt_log(LOG_ERR, "Failed to direct stderr to /dev/null.\n"); /* stderr */
+ dlt_log(LOG_WARNING, "Failed to direct stderr to /dev/null.\n"); /* stderr */
}
/* Set umask */
@@ -1102,19 +1109,19 @@ void dlt_daemon_daemonize(int verbose)
/* Change to known directory */
if(chdir(DLT_USER_DIR) < 0)
- dlt_log(LOG_ERR, "Failed to chdir to DLT_USER_DIR.\n");;
+ dlt_log(LOG_WARNING, "Failed to chdir to DLT_USER_DIR.\n");;
/* Ensure single copy of daemon;
run only one instance at a time */
lfp=open(DLT_DAEMON_LOCK_FILE,O_RDWR|O_CREAT,DLT_DAEMON_LOCK_FILE_PERM);
if (lfp<0)
{
- dlt_log(LOG_CRIT, "can't open lock file, exiting DLT daemon\n");
+ dlt_log(LOG_CRIT, "Can't open lock file, exiting DLT daemon\n");
exit(-1); /* can not open */
}
if (lockf(lfp,F_TLOCK,0)<0)
{
- dlt_log(LOG_CRIT, "can't lock lock file, exiting DLT daemon\n");
+ dlt_log(LOG_CRIT, "Can't lock lock file, exiting DLT daemon\n");
exit(-1); /* can not lock */
}
/* only first instance continues */
@@ -1122,7 +1129,7 @@ void dlt_daemon_daemonize(int verbose)
snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"%d\n",getpid());
pid_len = strlen(str);
if(write(lfp,str,pid_len) != pid_len) /* record pid to lockfile */
- dlt_log(LOG_ERR, "Could not write pid to file in dlt_daemon_daemonize.\n");
+ dlt_log(LOG_WARNING, "Could not write pid to file in dlt_daemon_daemonize.\n");
/* Catch signals */
signal(SIGCHLD,SIG_IGN); /* ignore child */
@@ -1132,6 +1139,115 @@ void dlt_daemon_daemonize(int verbose)
} /* dlt_daemon_daemonize() */
+/* This function logs str to the configured output sink (socket, serial, offline trace).
+ To avoid recursion this function must be called only from DLT highlevel functions.
+ E. g. calling it to output a failure when the open of the offline trace file fails
+ would cause an endless loop because dlt_daemon_log_internal() would itself again try
+ to open the offline trace file.
+ This is a dlt-daemon only function. The libdlt has no equivalent function available. */
+int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local, char *str, int verbose)
+{
+ static uint8_t uiMsgCount = 0;
+ DltStandardHeaderExtra *pStandardExtra;
+ uint32_t uiType;
+ uint16_t uiSize;
+ uint32_t uiExtraSize;
+ int sent;
+ int j;
+ int third_value;
+ int ret;
+
+ PRINT_FUNCTION_VERBOSE(verbose);
+
+ // Set storageheader
+ daemon_local->msg.storageheader = (DltStorageHeader *)(daemon_local->msg.headerbuffer);
+ dlt_set_storageheader(daemon_local->msg.storageheader, daemon->ecuid);
+
+ // Set standardheader
+ daemon_local->msg.standardheader = (DltStandardHeader *)(daemon_local->msg.headerbuffer + sizeof(DltStorageHeader));
+ daemon_local->msg.standardheader->htyp = DLT_HTYP_UEH | DLT_HTYP_WEID | DLT_HTYP_WSID | DLT_HTYP_WTMS | DLT_HTYP_PROTOCOL_VERSION1;
+ daemon_local->msg.standardheader->mcnt = uiMsgCount++;
+
+ uiExtraSize = DLT_STANDARD_HEADER_EXTRA_SIZE(daemon_local->msg.standardheader->htyp)+(DLT_IS_HTYP_UEH(daemon_local->msg.standardheader->htyp) ? sizeof(DltExtendedHeader) : 0);
+ daemon_local->msg.headersize = sizeof(DltStorageHeader) + sizeof(DltStandardHeader) + uiExtraSize;
+
+ // Set extraheader
+ pStandardExtra = (DltStandardHeaderExtra *)(daemon_local->msg.headerbuffer + sizeof(DltStorageHeader) + sizeof(DltStandardHeader));
+ dlt_set_id(pStandardExtra->ecu, daemon->ecuid);
+ pStandardExtra->tmsp = DLT_HTOBE_32(dlt_uptime());
+ pStandardExtra->seid = DLT_HTOBE_32(getpid());
+
+ // Set extendedheader
+ daemon_local->msg.extendedheader = (DltExtendedHeader *)(daemon_local->msg.headerbuffer + sizeof(DltStorageHeader) + sizeof(DltStandardHeader) + DLT_STANDARD_HEADER_EXTRA_SIZE(daemon_local->msg.standardheader->htyp));
+ daemon_local->msg.extendedheader->msin = DLT_MSIN_VERB | (DLT_TYPE_LOG << DLT_MSIN_MSTP_SHIFT) | ((DLT_LOG_INFO << DLT_MSIN_MTIN_SHIFT) & DLT_MSIN_MTIN);
+ daemon_local->msg.extendedheader->noar = 1;
+ dlt_set_id(daemon_local->msg.extendedheader->apid, "DLTD");
+ dlt_set_id(daemon_local->msg.extendedheader->ctid, "INTM");
+
+ // Set payload data...
+ uiType = DLT_TYPE_INFO_STRG;
+ uiSize = strlen(str) + 1;
+ daemon_local->msg.datasize = sizeof(uint32_t) + sizeof(uint16_t) + uiSize;
+
+ // Ensure that the buffer size is large enough...
+ if (daemon_local->msg.databuffer && (daemon_local->msg.databuffersize < daemon_local->msg.datasize))
+ {
+ free(daemon_local->msg.databuffer);
+ daemon_local->msg.databuffer=0;
+ }
+ if (daemon_local->msg.databuffer == 0)
+ {
+ daemon_local->msg.databuffer = (uint8_t *) malloc(daemon_local->msg.datasize);
+ daemon_local->msg.databuffersize = daemon_local->msg.datasize;
+ }
+ if (daemon_local->msg.databuffer==0)
+ {
+ dlt_log(LOG_WARNING,"Can't allocate buffer for get log info message\n");
+ return -1;
+ }
+
+ daemon_local->msg.datasize = 0;
+ memcpy((uint8_t *)(daemon_local->msg.databuffer + daemon_local->msg.datasize), (uint8_t *)(&uiType), sizeof(uint32_t));
+ daemon_local->msg.datasize += sizeof(uint32_t);
+ memcpy((uint8_t *)(daemon_local->msg.databuffer + daemon_local->msg.datasize), (uint8_t *)(&uiSize), sizeof(uint16_t));
+ daemon_local->msg.datasize += sizeof(uint16_t);
+ memcpy((uint8_t *)(daemon_local->msg.databuffer + daemon_local->msg.datasize), str, uiSize);
+ daemon_local->msg.datasize += uiSize;
+
+ // Calc lengths
+ daemon_local->msg.standardheader->len = DLT_HTOBE_16(daemon_local->msg.headersize - sizeof(DltStorageHeader) + daemon_local->msg.datasize);
+
+ // Sending data...
+ {
+ /* check if overflow occurred */
+ if(daemon->overflow_counter)
+ {
+ if(dlt_daemon_send_message_overflow(daemon,daemon_local,verbose)==0)
+ {
+ sprintf(str,"%u messages discarded!\n",daemon->overflow_counter);
+ dlt_log(LOG_WARNING, str);
+ daemon->overflow_counter=0;
+ }
+ }
+
+ /* look if TCP connection to client is available */
+ if((daemon->mode == DLT_USER_MODE_EXTERNAL) || (daemon->mode == DLT_USER_MODE_BOTH))
+ {
+
+ if((ret = dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL,daemon,daemon_local,daemon_local->msg.headerbuffer+sizeof(DltStorageHeader),daemon_local->msg.headersize-sizeof(DltStorageHeader),
+ daemon_local->msg.databuffer,daemon_local->msg.datasize,verbose)))
+ {
+ if(ret == DLT_DAEMON_ERROR_BUFFER_FULL)
+ {
+ daemon->overflow_counter++;
+ }
+ }
+ }
+ }
+
+ return 0;
+}
+
int dlt_daemon_process_client_connect(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose)
{
socklen_t cli_size;
@@ -1165,7 +1281,7 @@ int dlt_daemon_process_client_connect(DltDaemon *daemon, DltDaemonLocal *daemon_
timeout_send.tv_sec = daemon_local->timeoutOnSend;
timeout_send.tv_usec = 0;
if (setsockopt (in_sock, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout_send, sizeof(timeout_send)) < 0)
- dlt_log(LOG_ERR, "setsockopt failed\n");
+ dlt_log(LOG_WARNING, "setsockopt failed\n");
/* Set to non blocking mode */
//flags = fcntl(in_sock, F_GETFL, 0);
@@ -1206,12 +1322,12 @@ int dlt_daemon_process_client_connect(DltDaemon *daemon, DltDaemonLocal *daemon_
{
if (daemon_local->flags.vflag)
{
- dlt_log(LOG_INFO, "Send ring-buffer to client\n");
+ dlt_log(LOG_DEBUG, "Send ring-buffer to client\n");
}
dlt_daemon_change_state(daemon, DLT_DAEMON_STATE_SEND_BUFFER);
if (dlt_daemon_send_ringbuffer_to_client(daemon, daemon_local, verbose)==-1)
{
- dlt_log(LOG_ERR,"Can't send contents of ringbuffer to clients\n");
+ dlt_log(LOG_WARNING,"Can't send contents of ringbuffer to clients\n");
return -1;
}
@@ -1263,7 +1379,7 @@ int dlt_daemon_process_client_messages(DltDaemon *daemon, DltDaemonLocal *daemon
if (dlt_receiver_remove(&(daemon_local->receiverSock),bytes_to_be_removed)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for sockets\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for sockets\n");
return -1;
}
@@ -1272,7 +1388,7 @@ int dlt_daemon_process_client_messages(DltDaemon *daemon, DltDaemonLocal *daemon
if (dlt_receiver_move_to_begin(&(daemon_local->receiverSock))==-1)
{
- dlt_log(LOG_ERR,"Can't move bytes to beginning of receiver buffer for sockets\n");
+ dlt_log(LOG_WARNING,"Can't move bytes to beginning of receiver buffer for sockets\n");
return -1;
}
@@ -1293,7 +1409,7 @@ int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal
if (dlt_receiver_receive_fd(&(daemon_local->receiverSerial))<=0)
{
- dlt_log(LOG_ERR, "dlt_receiver_receive_fd() for messages from serial interface failed!\n");
+ dlt_log(LOG_WARNING, "dlt_receiver_receive_fd() for messages from serial interface failed!\n");
return -1;
}
@@ -1305,7 +1421,7 @@ int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal
{
if (dlt_daemon_client_process_control(daemon_local->receiverSerial.fd, daemon,daemon_local, &(daemon_local->msg), daemon_local->flags.vflag)==-1)
{
- dlt_log(LOG_ERR,"Can't process control messages\n");
+ dlt_log(LOG_WARNING,"Can't process control messages\n");
return -1;
}
}
@@ -1322,7 +1438,7 @@ int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal
if (dlt_receiver_remove(&(daemon_local->receiverSerial),bytes_to_be_removed)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for serial connection\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for serial connection\n");
return -1;
}
@@ -1331,7 +1447,7 @@ int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal
if (dlt_receiver_move_to_begin(&(daemon_local->receiverSerial))==-1)
{
- dlt_log(LOG_ERR,"Can't move bytes to beginning of receiver buffer for serial connection\n");
+ dlt_log(LOG_WARNING,"Can't move bytes to beginning of receiver buffer for serial connection\n");
return -1;
}
@@ -1355,7 +1471,7 @@ int dlt_daemon_process_user_messages(DltDaemon *daemon, DltDaemonLocal *daemon_l
/* read data from FIFO */
if (dlt_receiver_receive_fd(&(daemon_local->receiver))<0)
{
- dlt_log(LOG_ERR, "dlt_receiver_receive_fd() for user messages failed!\n");
+ dlt_log(LOG_WARNING, "dlt_receiver_receive_fd() for user messages failed!\n");
return -1;
}
@@ -1483,12 +1599,13 @@ int dlt_daemon_process_user_messages(DltDaemon *daemon, DltDaemonLocal *daemon_l
}
default:
{
- dlt_log(LOG_ERR,"(Internal) Invalid user message type received!\n");
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Invalid user message type received: %d!\n", userheader->message);
+ dlt_log(LOG_ERR,str);
/* remove user header */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user messages\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user messages\n");
return -1;
}
@@ -1505,7 +1622,7 @@ int dlt_daemon_process_user_messages(DltDaemon *daemon, DltDaemonLocal *daemon_l
/* keep not read data in buffer */
if (dlt_receiver_move_to_begin(&(daemon_local->receiver))==-1)
{
- dlt_log(LOG_ERR,"Can't move bytes to beginning of receiver buffer for user messages\n");
+ dlt_log(LOG_WARNING,"Can't move bytes to beginning of receiver buffer for user messages\n");
return -1;
}
@@ -1521,7 +1638,7 @@ int dlt_daemon_process_user_message_overflow(DltDaemon *daemon, DltDaemonLocal *
if ((daemon==0) || (daemon_local==0))
{
- dlt_log(LOG_ERR, "Invalid function parameters used for function dlt_daemon_process_user_message_overflow()\n");
+ dlt_log(LOG_WARNING, "Invalid function parameters used for function dlt_daemon_process_user_message_overflow()\n");
return -1;
}
@@ -1546,7 +1663,7 @@ int dlt_daemon_process_user_message_overflow(DltDaemon *daemon, DltDaemonLocal *
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgBufferOverflow))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message overflow\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message overflow\n");
return -1;
}
@@ -1615,14 +1732,20 @@ int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, DltD
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterApplication)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register application\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register application\n");
return -1;
}
if (application==0)
{
- dlt_log(LOG_CRIT,"Can't add application");
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Can't add ApplicationID '%.4s' for PID %d\n", usercontext->apid, usercontext->pid);
+ dlt_log(LOG_WARNING,str);
return -1;
+ } else
+ {
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "ApplicationID '%.4s' registered for PID %d, Description=%s\n", application->apid, application->pid, application->application_description);
+ dlt_daemon_log_internal(daemon, daemon_local, str, daemon_local->flags.vflag);
+ dlt_log(LOG_DEBUG,str);
}
return 0;
@@ -1670,12 +1793,13 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
if (application==0)
{
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "ApplicationID '%.4s' not found while registering ContextID '%.4s' in dlt_daemon_process_user_message_register_context()\n", usercontext->apid, usercontext->ctid);
+ dlt_log(LOG_WARNING, str);
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
return -1;
}
- dlt_log(LOG_ERR, "Application not found in dlt_daemon_process_user_message_register_context()\n");
return 0;
}
@@ -1692,7 +1816,7 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
}
return -1;
}
@@ -1712,7 +1836,7 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
}
return -1;
}
@@ -1724,11 +1848,17 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
}
- dlt_log(LOG_CRIT,"Can't add context");
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Can't add ContextID '%.4s' for ApplicationID '%.4s'\n", usercontext->ctid, usercontext->apid);
+ dlt_log(LOG_WARNING,str);
return -1;
+ } else
+ {
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "ContextID '%.4s' registered for ApplicationID '%.4s', Description=%s\n", context->ctid, context->apid, context->context_description);
+ dlt_daemon_log_internal(daemon, daemon_local, str, daemon_local->flags.vflag);
+ dlt_log(LOG_DEBUG,str);
}
/* Create automatic get log info response for registered context */
if (daemon_local->flags.rflag)
@@ -1738,10 +1868,10 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
return -1;
}
- dlt_log(LOG_ERR,"Can't initialize message");
+ dlt_log(LOG_WARNING,"Can't initialize message");
return -1;
}
@@ -1759,10 +1889,10 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
return -1;
}
- dlt_log(LOG_ERR,"Can't allocate buffer for get log info message\n");
+ dlt_log(LOG_WARNING,"Can't allocate buffer for get log info message\n");
return -1;
}
@@ -1786,10 +1916,11 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
return -1;
}
- dlt_log(LOG_ERR,"Can't send current log level as response to user message register context\n");
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Can't send current log level as response to user message register context for (%.4s;%.4s)\n", context->apid, context->ctid);
+ dlt_log(LOG_WARNING,str);
return -1;
}
}
@@ -1797,7 +1928,7 @@ int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemo
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgRegisterContext)+len)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message register context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message register context\n");
return -1;
}
@@ -1851,10 +1982,11 @@ int dlt_daemon_process_user_message_unregister_application(DltDaemon *daemon, Dl
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgUnregisterApplication))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message unregister application\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message unregister application\n");
return -1;
}
- dlt_log(LOG_ERR,"Can't delete context for user message unregister application\n");
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Can't delete ContextID '%.4s' in ApplicationID '%.4s' for user message unregister application\n", context->ctid, context->apid);
+ dlt_log(LOG_WARNING,str);
return -1;
}
}
@@ -1865,11 +1997,17 @@ int dlt_daemon_process_user_message_unregister_application(DltDaemon *daemon, Dl
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgUnregisterApplication))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message unregister application\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message unregister application\n");
return -1;
}
- dlt_log(LOG_ERR,"Can't delete application for user message unregister application\n");
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Can't delete ApplicationID '%.4s' for user message unregister application\n", application->apid);
+ dlt_log(LOG_WARNING,str);
return -1;
+ } else
+ {
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Unregistered ApplicationID '%.4s'\n", usercontext->apid);
+ dlt_daemon_log_internal(daemon, daemon_local, str, daemon_local->flags.vflag);
+ dlt_log(LOG_DEBUG,str);
}
}
}
@@ -1877,7 +2015,7 @@ int dlt_daemon_process_user_message_unregister_application(DltDaemon *daemon, Dl
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgUnregisterApplication))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message unregister application\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message unregister application\n");
return -1;
}
@@ -1913,11 +2051,17 @@ int dlt_daemon_process_user_message_unregister_context(DltDaemon *daemon, DltDae
{
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgUnregisterContext))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message unregister context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message unregister context\n");
return -1;
}
- dlt_log(LOG_ERR,"Can't delete context for user message unregister context\n");
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Can't delete ContextID '%.4s' for ApplicationID '%.4s' for user message unregister context\n", usercontext->ctid, usercontext->apid);
+ dlt_log(LOG_WARNING,str);
return -1;
+ } else
+ {
+ snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "Unregistered ContextID '%.4s' for ApplicationID '%.4s'\n", usercontext->ctid, usercontext->apid);
+ dlt_daemon_log_internal(daemon, daemon_local, str, daemon_local->flags.vflag);
+ dlt_log(LOG_DEBUG,str);
}
}
@@ -1930,7 +2074,7 @@ int dlt_daemon_process_user_message_unregister_context(DltDaemon *daemon, DltDae
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgUnregisterContext))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message unregister context\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message unregister context\n");
return -1;
}
@@ -1957,7 +2101,14 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemo
{
if(ret!=DLT_MESSAGE_ERROR_SIZE)
{
- dlt_log(LOG_ERR,"Can't read messages from receiver\n");
+ /* This is a normal usecase: The daemon reads the data in 10kb chunks.
+ Thus the last trace in this chunk is probably not complete and will be completed
+ with the next chunk read. This happens always when the FIFO is filled with more than 10kb before
+ the daemon is able to read from the FIFO.
+ Thus the loglevel of this message is set to DEBUG.
+ A cleaner solution would be to check more in detail whether the message is not complete (normal usecase)
+ or the headers are corrupted (error case). */
+ dlt_log(LOG_DEBUG,"Can't read messages from receiver\n");
}
return DLT_DAEMON_ERROR_UNKNOWN;
}
@@ -1970,7 +2121,7 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemo
//msg.headerextra.seid = 0;
if (dlt_message_set_extraparameters(&(daemon_local->msg),0)==-1)
{
- dlt_log(LOG_ERR,"Can't set message extra parameters in process user message log\n");
+ dlt_log(LOG_WARNING,"Can't set message extra parameters in process user message log\n");
return DLT_DAEMON_ERROR_UNKNOWN;
}
@@ -1983,7 +2134,7 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemo
{
if (dlt_set_storageheader(daemon_local->msg.storageheader,daemon_local->msg.headerextra.ecu)==-1)
{
- dlt_log(LOG_ERR,"Can't set storage header in process user message log\n");
+ dlt_log(LOG_WARNING,"Can't set storage header in process user message log\n");
return DLT_DAEMON_ERROR_UNKNOWN;
}
}
@@ -1991,7 +2142,7 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemo
{
if (dlt_set_storageheader(daemon_local->msg.storageheader,daemon->ecuid)==-1)
{
- dlt_log(LOG_ERR,"Can't set storage header in process user message log\n");
+ dlt_log(LOG_WARNING,"Can't set storage header in process user message log\n");
return DLT_DAEMON_ERROR_UNKNOWN;
}
}
@@ -2002,21 +2153,21 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemo
{
if (dlt_message_print_hex(&(daemon_local->msg),text,DLT_DAEMON_TEXTSIZE,verbose)==-1)
{
- dlt_log(LOG_ERR,"dlt_message_print_hex() failed!\n");
+ dlt_log(LOG_WARNING,"dlt_message_print_hex() failed!\n");
}
} /* if */
else if (daemon_local->flags.aflag)
{
if (dlt_message_print_ascii(&(daemon_local->msg),text,DLT_DAEMON_TEXTSIZE,verbose)==-1)
{
- dlt_log(LOG_ERR,"dlt_message_print_ascii() failed!\n");
+ dlt_log(LOG_WARNING,"dlt_message_print_ascii() failed!\n");
}
} /* if */
else if (daemon_local->flags.sflag)
{
if (dlt_message_print_header(&(daemon_local->msg),text,DLT_DAEMON_TEXTSIZE,verbose)==-1)
{
- dlt_log(LOG_ERR,"dlt_message_print_header() failed!\n");
+ dlt_log(LOG_WARNING,"dlt_message_print_header() failed!\n");
}
/* print message header only */
} /* if */
@@ -2028,7 +2179,7 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemo
if(dlt_daemon_send_message_overflow(daemon,daemon_local,verbose)==0)
{
snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"%u messages discarded!\n",daemon->overflow_counter);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
daemon->overflow_counter=0;
}
}
@@ -2053,7 +2204,7 @@ int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemo
if (dlt_receiver_remove(&(daemon_local->receiver),bytes_to_be_removed)==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver\n");
return DLT_DAEMON_ERROR_UNKNOWN;
}
@@ -2090,7 +2241,7 @@ int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *d
break;
if (dlt_message_read(&(daemon_local->msg),rcv_buffer,size,0,verbose)!=0) {
break;
- dlt_log(LOG_ERR,"Can't read messages from shm\n");
+ dlt_log(LOG_WARNING,"Can't read messages from shm\n");
return -1;
}
bytes_to_be_removed = daemon_local->msg.headersize+daemon_local->msg.datasize-sizeof(DltStorageHeader)+sizeof(DltUserHeader);
@@ -2107,7 +2258,7 @@ int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *d
//msg.headerextra.seid = 0;
if (dlt_message_set_extraparameters(&(daemon_local->msg),0)==-1)
{
- dlt_log(LOG_ERR,"Can't set message extra parameters in process user message log\n");
+ dlt_log(LOG_WARNING,"Can't set message extra parameters in process user message log\n");
dlt_shm_remove(&(daemon_local->dlt_shm));
return -1;
}
@@ -2121,7 +2272,7 @@ int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *d
{
if (dlt_set_storageheader(daemon_local->msg.storageheader,daemon_local->msg.headerextra.ecu)==-1)
{
- dlt_log(LOG_ERR,"Can't set storage header in process user message log\n");
+ dlt_log(LOG_WARNING,"Can't set storage header in process user message log\n");
dlt_shm_remove(&(daemon_local->dlt_shm));
return -1;
}
@@ -2130,7 +2281,7 @@ int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *d
{
if (dlt_set_storageheader(daemon_local->msg.storageheader,daemon->ecuid)==-1)
{
- dlt_log(LOG_ERR,"Can't set storage header in process user message log\n");
+ dlt_log(LOG_WARNING,"Can't set storage header in process user message log\n");
dlt_shm_remove(&(daemon_local->dlt_shm));
return -1;
}
@@ -2141,21 +2292,21 @@ int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *d
{
if (dlt_message_print_hex(&(daemon_local->msg),text,DLT_DAEMON_TEXTSIZE,verbose)==-1)
{
- dlt_log(LOG_ERR,"dlt_message_print_hex() failed!\n");
+ dlt_log(LOG_WARNING,"dlt_message_print_hex() failed!\n");
}
} /* if */
else if (daemon_local->flags.aflag)
{
if (dlt_message_print_ascii(&(daemon_local->msg),text,DLT_DAEMON_TEXTSIZE,verbose)==-1)
{
- dlt_log(LOG_ERR,"dlt_message_print_ascii() failed!\n");
+ dlt_log(LOG_WARNING,"dlt_message_print_ascii() failed!\n");
}
} /* if */
else if (daemon_local->flags.sflag)
{
if (dlt_message_print_header(&(daemon_local->msg),text,DLT_DAEMON_TEXTSIZE,verbose)==-1)
{
- dlt_log(LOG_ERR,"dlt_message_print_header() failed!\n");
+ dlt_log(LOG_WARNING,"dlt_message_print_header() failed!\n");
}
/* print message header only */
} /* if */
@@ -2240,7 +2391,7 @@ int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *d
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message overflow\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message overflow\n");
return -1;
}
@@ -2310,7 +2461,7 @@ int dlt_daemon_process_user_message_set_app_ll_ts(DltDaemon *daemon, DltDaemonLo
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgAppLogLevelTraceStatus))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver\n");
return -1;
}
@@ -2346,7 +2497,7 @@ int dlt_daemon_process_user_message_log_mode(DltDaemon *daemon, DltDaemonLocal *
/* keep not read data in buffer */
if (dlt_receiver_remove(&(daemon_local->receiver),sizeof(DltUserHeader)+sizeof(DltUserControlMsgLogMode))==-1)
{
- dlt_log(LOG_ERR,"Can't remove bytes from receiver for user message log mode\n");
+ dlt_log(LOG_WARNING,"Can't remove bytes from receiver for user message log mode\n");
return -1;
}
@@ -2435,7 +2586,7 @@ int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in,
if( fd == NULL )
{
snprintf(str, sizeof(str), "<%s> fd is NULL pointer\n", timer_name );
- dlt_log(DLT_LOG_ERROR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -2445,7 +2596,7 @@ int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in,
if( local_fd < 0)
{
snprintf(str, sizeof(str), "<%s> timerfd_create failed: %s\n", timer_name, strerror(errno));
- dlt_log(DLT_LOG_ERROR, str);
+ dlt_log(LOG_WARNING, str);
}
l_timer_spec.it_interval.tv_sec = period_sec;
@@ -2456,7 +2607,7 @@ int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in,
if( timerfd_settime( local_fd, 0, &l_timer_spec, NULL) < 0)
{
snprintf(str, sizeof(str), "<%s> timerfd_settime failed: %s\n", timer_name, strerror(errno));
- dlt_log(DLT_LOG_ERROR, str);
+ dlt_log(LOG_WARNING, str);
local_fd = -1;
}
#endif
@@ -2464,7 +2615,7 @@ int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in,
else {
// timer not activated via the service file
snprintf(str, sizeof(str), "<%s> not set: period=0\n", timer_name);
- dlt_log(DLT_LOG_INFO, str);
+ dlt_log(LOG_INFO, str);
local_fd = -1;
}
@@ -2472,7 +2623,7 @@ int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in,
if(local_fd>0)
{
snprintf(str, sizeof(str), "<%s> initialized with %ds timer\n", timer_name, period_sec);
- dlt_log(DLT_LOG_INFO, str);
+ dlt_log(LOG_INFO, str);
FD_SET(local_fd, &(daemon_local->master));
//FD_SET(local_fd, &(daemon_local->timer_fds));
diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c
index 041a105..c5293de 100644
--- a/src/daemon/dlt_daemon_client.c
+++ b/src/daemon/dlt_daemon_client.c
@@ -262,7 +262,7 @@ int dlt_daemon_client_send_control_message( int sock, DltDaemon *daemon, DltDaem
len=msg->headersize - sizeof(DltStorageHeader) + msg->datasize;
if (len>UINT16_MAX)
{
- dlt_log(LOG_CRIT,"Huge control message discarded!\n");
+ dlt_log(LOG_WARNING,"Huge control message discarded!\n");
return DLT_DAEMON_ERROR_UNKNOWN;
}
@@ -720,7 +720,7 @@ void dlt_daemon_control_get_log_info(int sock, DltDaemon *daemon, DltDaemonLocal
if (verbose)
{
snprintf(str,DLT_DAEMON_TEXTBUFSIZE,"Allocate %d bytes for response msg databuffer\n", resp.datasize);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
}
/* Allocate buffer for response message */
@@ -1598,7 +1598,7 @@ void dlt_daemon_control_message_time(int sock, DltDaemon *daemon, DltDaemonLocal
len=msg.headersize - sizeof(DltStorageHeader) + msg.datasize;
if (len>UINT16_MAX)
{
- dlt_log(LOG_CRIT,"Huge control message discarded!\n");
+ dlt_log(LOG_WARNING,"Huge control message discarded!\n");
/* free message */
dlt_message_free(&msg,0);
diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
index a2392fc..464bd28 100644
--- a/src/daemon/dlt_daemon_common.c
+++ b/src/daemon/dlt_daemon_common.c
@@ -355,10 +355,10 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
new_application = 1;
- } else {
+ } else if (pid != application->pid) {
- snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "Duplicate registration of AppId: %s\n",apid);
- dlt_log(LOG_ERR, str);
+ snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "Duplicate registration of ApplicationID: '%.4s'; registering from PID %d, existing from PID %d\n",apid, pid, application->pid);
+ dlt_log(LOG_WARNING, str);
}
@@ -386,7 +386,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
if ( close(application->user_handle) < 0 )
{
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "close() failed to %s, errno=%d (%s)!\n",filename,errno,strerror(errno)); /* errno 2: ENOENT - No such file or directory */
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
application->user_handle = DLT_FD_INIT;
@@ -403,7 +403,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
if ( dlt_user_handle < 0 )
{
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "open() failed to %s, errno=%d (%s)!\n",filename,errno,strerror(errno)); /* errno 2: ENOENT - No such file or directory */
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
} /* if */
/* check if file file descriptor was already used, and make it invalid if it is reused */
@@ -531,7 +531,7 @@ int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int ver
{
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "dlt_daemon_applications_load fgets(buf,sizeof(buf),fd) returned NULL. %s\n",
strerror(errno));
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
fclose(fd);
return -1;
}
@@ -542,7 +542,7 @@ int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int ver
}
else {
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "dlt_daemon_applications_load fgets(buf,sizeof(buf),fd) returned NULL. Unknown error.\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
fclose(fd);
return -1;
}
@@ -562,7 +562,7 @@ int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int ver
/* pid is unknown at loading time */
if (dlt_daemon_application_add(daemon,apid,0,pb,verbose)==0)
{
- dlt_log(LOG_ERR, "dlt_daemon_applications_load dlt_daemon_application_add failed\n");
+ dlt_log(LOG_WARNING, "dlt_daemon_applications_load dlt_daemon_application_add failed\n");
fclose(fd);
return -1;
}
@@ -903,7 +903,7 @@ int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose
{
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "dlt_daemon_contexts_load fgets(buf,sizeof(buf),fd) returned NULL. %s\n",
strerror(errno));
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
fclose(fd);
return -1;
}
@@ -914,7 +914,7 @@ int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose
}
else {
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "dlt_daemon_contexts_load fgets(buf,sizeof(buf),fd) returned NULL. Unknown error.\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
fclose(fd);
return -1;
}
@@ -947,7 +947,7 @@ int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose
/* log_level_pos, and user_handle are unknown at loading time */
if (dlt_daemon_context_add(daemon,apid,ctid,(int8_t)ll,(int8_t)ts,0,0,pb,verbose)==0)
{
- dlt_log(LOG_ERR, "dlt_daemon_contexts_load dlt_daemon_context_add failed\n");
+ dlt_log(LOG_WARNING, "dlt_daemon_contexts_load dlt_daemon_context_add failed\n");
fclose(fd);
return -1;
}
@@ -1090,7 +1090,7 @@ int dlt_daemon_configuration_load(DltDaemon *daemon,const char *filename, int ve
else
{
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Unknown option: %s=%s\n",token,value);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
}
}
diff --git a/src/daemon/dlt_daemon_socket.c b/src/daemon/dlt_daemon_socket.c
index 88c360a..146d952 100644
--- a/src/daemon/dlt_daemon_socket.c
+++ b/src/daemon/dlt_daemon_socket.c
@@ -71,13 +71,13 @@ int dlt_daemon_socket_open(int *sock)
sprintf(portnumbuffer, "%d", DLT_DAEMON_TCP_PORT);
if ((rv = getaddrinfo(NULL, portnumbuffer, &hints, &servinfo)) != 0) {
snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "getaddrinfo: %s\n", gai_strerror(rv));
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
for(p = servinfo; p != NULL; p = p->ai_next) {
if ((*sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1) {
- dlt_log(LOG_ERR, "socket() error\n");
+ dlt_log(LOG_WARNING, "socket() error\n");
continue;
}
@@ -88,13 +88,13 @@ int dlt_daemon_socket_open(int *sock)
if (setsockopt(*sock, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1)
{
snprintf(str, DLT_DAEMON_TEXTBUFSIZE, "dlt_daemon_socket_open: Setsockopt error in dlt_daemon_local_connection_init: %s\n", strerror(errno));
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
continue;
}
if (bind(*sock, p->ai_addr, p->ai_addrlen) == -1) {
close(*sock);
- dlt_log(LOG_ERR, "bind() error\n");
+ dlt_log(LOG_WARNING, "bind() error\n");
continue;
}
@@ -102,7 +102,7 @@ int dlt_daemon_socket_open(int *sock)
}
if (p == NULL) {
- dlt_log(LOG_ERR, "failed to bind socket\n");
+ dlt_log(LOG_WARNING, "failed to bind socket\n");
return -1;
}
@@ -117,7 +117,7 @@ int dlt_daemon_socket_open(int *sock)
if (listen(*sock, 3) < 0)
{
- dlt_log(LOG_ERR, "dlt_daemon_socket_open: listen() failed!\n");
+ dlt_log(LOG_WARNING, "dlt_daemon_socket_open: listen() failed!\n");
return -1;
}
diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
index fad3fa0..d3fc066 100644
--- a/src/lib/dlt_user.c
+++ b/src/lib/dlt_user.c
@@ -198,7 +198,7 @@ int dlt_init(void)
if (ret==-1)
{
snprintf(str,DLT_USER_BUFFER_LENGTH,"FIFO user %s cannot be chmoded!\n", DLT_USER_DIR);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -215,8 +215,11 @@ int dlt_init(void)
dlt_user.dlt_log_handle = open(DLT_USER_FIFO, O_WRONLY | O_NONBLOCK | O_CLOEXEC );
if (dlt_user.dlt_log_handle==-1)
{
- snprintf(str,DLT_USER_BUFFER_LENGTH,"Loging disabled, FIFO %s cannot be opened with open()!\n",DLT_USER_FIFO);
- dlt_log(LOG_WARNING, str);
+ /* This is a normal usecase. It is OK that the daemon (and thus the FIFO /tmp/dlt)
+ starts later and some DLT users have already been started before.
+ Thus it is OK if the FIFO can't be opened. */
+ snprintf(str,DLT_USER_BUFFER_LENGTH,"FIFO %s cannot be opened. Retrying later...\n",DLT_USER_FIFO);
+ dlt_log(LOG_INFO, str);
//return 0;
}
else
@@ -225,8 +228,11 @@ int dlt_init(void)
/* init shared memory */
if (dlt_shm_init_client(&(dlt_user.dlt_shm),DLT_SHM_KEY) < 0)
{
- snprintf(str,DLT_USER_BUFFER_LENGTH,"Loging disabled, Shared memory %d cannot be created!\n",DLT_SHM_KEY);
- dlt_log(LOG_WARNING, str);
+ /* This is a normal usecase. It is OK that the daemon (and thus the FIFO /tmp/dlt)
+ starts later and some DLT users have already been started before.
+ Thus it is OK if the FIFO can't be opened. */
+ snprintf(str,DLT_USER_BUFFER_LENGTH,"Shared memory %d cannot be created. Retrying later...\n",DLT_SHM_KEY);
+ dlt_log(LOG_INFO, str);
//return 0;
}
#endif
@@ -477,7 +483,7 @@ void dlt_user_atexit_handler(void)
if(count != 0){
char tmp[256];
snprintf(tmp,256,"Lost log messages in user buffer when exiting: %i\n",count);
- dlt_log(LOG_ERR, tmp);
+ dlt_log(LOG_WARNING, tmp);
}
/* Unregister app (this also unregisters all contexts in daemon) */
@@ -714,7 +720,8 @@ int dlt_register_context(DltContext *handle, const char *contextid, const char *
if (dlt_user.appID[0]=='\0')
{
- dlt_log(LOG_ERR, "no application registered!\n");
+ snprintf(str, DLT_USER_BUFFER_LENGTH, "No application registered while trying to register ContextID %4s!\n", contextid);
+ dlt_log(LOG_WARNING, str);
DLT_SEM_FREE();
return -1;
@@ -748,7 +755,8 @@ int dlt_register_context_ll_ts(DltContext *handle, const char *contextid, const
if (dlt_user.appID[0]=='\0')
{
- dlt_log(LOG_ERR, "no application registered!\n");
+ snprintf(str, DLT_USER_BUFFER_LENGTH, "No application registered while trying to register ContextID %4s!\n", contextid);
+ dlt_log(LOG_WARNING, str);
DLT_SEM_FREE();
return -1;
@@ -1160,8 +1168,9 @@ int dlt_forward_msg(void *msgdata,size_t size)
if (dlt_user_log_send_overflow()==0)
{
snprintf(str,DLT_USER_BUFFER_LENGTH,"Buffer full! %u messages discarded!\n",dlt_user.overflow_counter);
- dlt_log(LOG_ERR, str);
- dlt_user.overflow_counter=0; }
+ dlt_log(LOG_WARNING, str);
+ dlt_user.overflow_counter=0;
+ }
}
/* log to FIFO */
@@ -1180,7 +1189,7 @@ int dlt_forward_msg(void *msgdata,size_t size)
{
if(dlt_user.overflow_counter==0)
{
- dlt_log(LOG_ERR,"Buffer full! First message discarded!\n");
+ dlt_log(LOG_WARNING,"Buffer full! First message discarded!\n");
}
ret = DLT_RETURN_BUFFER_FULL;
}
@@ -2496,7 +2505,7 @@ void dlt_user_trace_network_segmented_thread(void *unused)
char str[255];
snprintf(str,254,"NWTSegmented: Error while reading queue: %s \n",strerror(errno));
- dlt_log(LOG_CRIT, str);
+ dlt_log(LOG_WARNING, str);
continue;
}
@@ -2523,7 +2532,7 @@ void dlt_user_trace_network_segmented_thread(void *unused)
DltReturnValue err = dlt_user_trace_network_segmented_end(data->id, data->handle, data->nw_trace_type);
if(err == DLT_RETURN_BUFFER_FULL || err == DLT_RETURN_ERROR)
{
- dlt_log(LOG_ERR,"NWTSegmented: Could not send end segment.\n");
+ dlt_log(LOG_WARNING,"NWTSegmented: Could not send end segment.\n");
}
/* Free resources */
@@ -2634,14 +2643,14 @@ int dlt_user_trace_network_segmented(DltContext *handle, DltNetworkTraceType nw_
{
if(errno == EAGAIN)
{
- dlt_log(LOG_ERR, "NWTSegmented: Queue full. Message discarded.\n");
+ dlt_log(LOG_WARNING, "NWTSegmented: Queue full. Message discarded.\n");
}
free(thread_data->header);
free(thread_data->payload);
free(thread_data);
char str[256];
snprintf(str,255,"NWTSegmented: Could not write into queue: %s \n",strerror(errno));
- dlt_log(LOG_CRIT, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -3150,7 +3159,7 @@ int dlt_user_queue_resend(void)
if(!dlt_user_queue_resend_error_counter)
{
// log error only when problem occurred first time
- dlt_log(LOG_ERR, "NWTSegmented: Could not open queue.\n");
+ dlt_log(LOG_WARNING, "NWTSegmented: Could not open queue.\n");
}
dlt_user_queue_resend_error_counter = 1;
free(resend_data);
@@ -3164,7 +3173,7 @@ int dlt_user_queue_resend(void)
// log error only when problem occurred first time
char str[255];
snprintf(str,254,"Could not request resending.: %s \n",strerror(errno));
- dlt_log(LOG_CRIT, str);
+ dlt_log(LOG_NOTICE, str);
}
dlt_user_queue_resend_error_counter = 1;
free(resend_data);
@@ -3330,7 +3339,7 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, int mtype)
len=msg.headersize - sizeof(DltStorageHeader) +log->size;
if (len>UINT16_MAX)
{
- dlt_log(LOG_CRIT,"Huge message discarded!\n");
+ dlt_log(LOG_WARNING,"Huge message discarded!\n");
return DLT_RETURN_ERROR;
}
@@ -3365,7 +3374,7 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, int mtype)
if (dlt_user_log_send_overflow()==0)
{
snprintf(str,DLT_USER_BUFFER_LENGTH,"%u messages discarded!\n",dlt_user.overflow_counter);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
dlt_user.overflow_counter=0;
}
}
@@ -3420,7 +3429,7 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, int mtype)
if(dlt_user.overflow_counter==0)
{
- dlt_log(LOG_ERR,"Buffer full! Messages will be discarded.\n");
+ dlt_log(LOG_WARNING,"Buffer full! Messages will be discarded.\n");
}
ret = DLT_RETURN_BUFFER_FULL;
}
@@ -3534,7 +3543,7 @@ int dlt_user_log_send_register_application(void)
(const unsigned char*)&(usercontext), sizeof(DltUserControlMsgRegisterApplication),
(const unsigned char*)dlt_user.application_description, usercontext.description_length)==-1)
{
- dlt_log(LOG_ERR,"Storing message to history buffer failed! Message discarded.\n");
+ dlt_log(LOG_WARNING,"Storing message to history buffer failed! Message discarded.\n");
DLT_SEM_FREE();
return -1;
}
@@ -3645,7 +3654,7 @@ int dlt_user_log_send_register_context(DltContextData *log)
(const unsigned char*)&(usercontext), sizeof(DltUserControlMsgRegisterContext),
(const unsigned char*)log->context_description, usercontext.description_length)==-1)
{
- dlt_log(LOG_ERR,"Storing message to history buffer failed! Message discarded.\n");
+ dlt_log(LOG_WARNING,"Storing message to history buffer failed! Message discarded.\n");
DLT_SEM_FREE();
return -1;
}
@@ -4055,7 +4064,7 @@ int dlt_user_log_check_user_message(void)
break;
default:
{
- dlt_log(LOG_ERR,"Invalid user message type received!\n");
+ dlt_log(LOG_WARNING,"Invalid user message type received!\n");
/* Ignore result */
dlt_receiver_remove(receiver,sizeof(DltUserHeader));
/* In next invocation of while loop, a resync will be triggered if additional data was received */
@@ -4158,7 +4167,7 @@ void dlt_user_log_reattach_to_daemon(void)
}
#endif
- dlt_log(LOG_NOTICE, "Logging re-enabled!\n");
+ dlt_log(LOG_NOTICE, "Logging (re-)enabled!\n");
/* Re-register application */
if (dlt_user_log_send_register_application()==-1)
diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
index d0beb97..194f548 100755
--- a/src/shared/dlt_common.c
+++ b/src/shared/dlt_common.c
@@ -117,7 +117,9 @@ int dlt_print_hex_string(char *text,int textlength,uint8_t *ptr,int size)
/* Length 3: AB_ , A is first digit of hex number, B is second digit of hex number, _ is space */
if (textlength<(size*3))
{
- dlt_log(LOG_ERR, "String does not fit binary data!\n");
+ char str[255];
+ snprintf(str, 254, "String does not fit hex data (available=%d, required=%d) !\n", textlength, size*3);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -165,7 +167,7 @@ int dlt_print_mixed_string(char *text,int textlength,uint8_t *ptr,int size,int h
if (textlength<required_size)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH, "String does not fit mixed data (available=%d, required=%d) !\n", textlength, required_size);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -251,7 +253,9 @@ int dlt_print_char_string(char **text,int textlength,uint8_t *ptr,int size)
if (textlength< size)
{
- dlt_log(LOG_ERR, "String does not fit character data!\n");
+ char str[255];
+ sprintf(str, 254, "String does not fit character data (available=%d, required=%d) !\n", textlength, size);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -413,7 +417,7 @@ int dlt_filter_load(DltFilter *filter,const char *filename,int verbose)
if (handle == 0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Filter file %s cannot be opened!\n",filename);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -466,8 +470,8 @@ int dlt_filter_load(DltFilter *filter,const char *filename,int verbose)
}
else
{
- snprintf(str,DLT_COMMON_BUFFER_LENGTH, "Maximum number (%d) of allowed filters reached!\n", DLT_FILTER_MAX);
- dlt_log(LOG_ERR, str);
+ snprintf(str,DLT_COMMON_BUFFER_LENGTH, "Maximum number (%d) of allowed filters reached, ignoring rest of filters!\n", DLT_FILTER_MAX);
+ dlt_log(LOG_WARNING, str);
return 0;
}
}
@@ -494,7 +498,7 @@ int dlt_filter_save(DltFilter *filter,const char *filename,int verbose)
if (handle == 0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Filter file %s cannot be opened!\n",filename);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -575,7 +579,8 @@ int dlt_filter_add(DltFilter *filter,const char *apid,const char *ctid, int verb
if (filter->counter >= DLT_FILTER_MAX)
{
- dlt_log(LOG_ERR, "Maximum numbers of allowed filters reached!\n");
+ sprintf(str, "Maximum number (%d) of allowed filters reached, ignoring filter!\n", DLT_FILTER_MAX);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -897,7 +902,7 @@ int dlt_message_payload(DltMessage *msg,char *text,int textlength,int type,int v
if (textlength<=0)
{
- dlt_log(LOG_ERR, "String does not fit binary data!\n");
+ dlt_log(LOG_WARNING, "String does not fit binary data!\n");
return -1;
}
@@ -939,7 +944,9 @@ int dlt_message_payload(DltMessage *msg,char *text,int textlength,int type,int v
if (textlength<((datalength*3)+20))
{
- dlt_log(LOG_ERR, "String does not fit binary data!\n");
+ char str[255];
+ sprintf(str, 254, "String does not fit binary data (available=%d, required=%d) !\n", textlength, (datalength*3)+20);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -1150,25 +1157,15 @@ int dlt_message_read(DltMessage *msg,uint8_t *buffer,unsigned int length,int res
if (verbose)
{
- snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Buffer length: %d\n",length);
- dlt_log(LOG_INFO, str);
- }
- if (verbose)
- {
- snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Header Size: %d\n",msg->headersize);
- dlt_log(LOG_INFO, str);
- }
- if (verbose)
- {
- snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Data Size: %d\n",msg->datasize);
- dlt_log(LOG_INFO, str);
+ snprintf(str,DLT_COMMON_BUFFER_LENGTH,"BufferLength=%d, HeaderSize=%d, DataSize=%d\n",length, msg->headersize, msg->datasize);
+ dlt_log(LOG_DEBUG, str);
}
/* check data size */
if (msg->datasize < 0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Plausibility check failed. Complete message size too short (%d)!\n",msg->datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return DLT_MESSAGE_ERROR_CONTENT;
}
@@ -1219,7 +1216,7 @@ int dlt_message_read(DltMessage *msg,uint8_t *buffer,unsigned int length,int res
if (msg->databuffer == 0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Cannot allocate memory for payload buffer of size %d!\n",msg->datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return DLT_MESSAGE_ERROR_UNKNOWN;
}
@@ -1348,7 +1345,7 @@ int dlt_file_read_header(DltFile *file,int verbose)
{
if (!feof(file->handle))
{
- dlt_log(LOG_ERR, "Cannot read header from file!\n");
+ dlt_log(LOG_WARNING, "Cannot read header from file!\n");
}
return -1;
}
@@ -1360,7 +1357,7 @@ int dlt_file_read_header(DltFile *file,int verbose)
/* check id of storage header */
if (dlt_check_storageheader(file->msg.storageheader)==0)
{
- dlt_log(LOG_ERR, "DLT storage header pattern not found!\n");
+ dlt_log(LOG_WARNING, "DLT storage header pattern not found!\n");
return -1;
}
@@ -1370,20 +1367,15 @@ int dlt_file_read_header(DltFile *file,int verbose)
file->msg.datasize = DLT_BETOH_16(file->msg.standardheader->len) + sizeof(DltStorageHeader) - file->msg.headersize;
if (verbose)
{
- snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Header Size: %d\n",file->msg.headersize);
- dlt_log(LOG_INFO, str);
- }
- if (verbose)
- {
- snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Data Size: %d\n",file->msg.datasize);
- dlt_log(LOG_INFO, str);
+ snprintf(str,DLT_COMMON_BUFFER_LENGTH,"HeaderSize=%d, DataSize=%d\n",file->msg.headersize, file->msg.datasize);
+ dlt_log(LOG_DEBUG, str);
}
/* check data size */
if (file->msg.datasize < 0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Plausibility check failed. Complete message size too short! (%d)\n", file->msg.datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -1407,7 +1399,7 @@ int dlt_file_read_header_raw(DltFile *file,int resync,int verbose)
/* cannot read serial header, not enough data available in file */
if (!feof(file->handle))
{
- dlt_log(LOG_ERR, "Cannot read header from file!\n");
+ dlt_log(LOG_WARNING, "Cannot read header from file!\n");
}
return -1;
}
@@ -1454,7 +1446,7 @@ int dlt_file_read_header_raw(DltFile *file,int resync,int verbose)
{
if (!feof(file->handle))
{
- dlt_log(LOG_ERR, "Cannot read header from file!\n");
+ dlt_log(LOG_WARNING, "Cannot read header from file!\n");
}
return -1;
}
@@ -1477,20 +1469,15 @@ int dlt_file_read_header_raw(DltFile *file,int resync,int verbose)
file->msg.datasize = DLT_BETOH_16(file->msg.standardheader->len) + sizeof(DltStorageHeader) - file->msg.headersize;
if (verbose)
{
- snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Header Size: %d\n",file->msg.headersize);
- dlt_log(LOG_INFO, str);
- }
- if (verbose)
- {
- snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Data Size: %d\n",file->msg.datasize);
- dlt_log(LOG_INFO, str);
+ snprintf(str,DLT_COMMON_BUFFER_LENGTH,"HeaderSize=%d, DataSize=%d\n",file->msg.headersize, file->msg.datasize);
+ dlt_log(LOG_DEBUG, str);
}
/* check data size */
if (file->msg.datasize < 0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Plausibility check failed. Complete message size too short! (%d)\n", file->msg.datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -1513,7 +1500,7 @@ int dlt_file_read_header_extended(DltFile *file, int verbose)
DLT_STANDARD_HEADER_EXTRA_SIZE(file->msg.standardheader->htyp),
1,file->handle)!=1)
{
- dlt_log(LOG_ERR, "Cannot read standard header extra parameters from file!\n");
+ dlt_log(LOG_WARNING, "Cannot read standard header extra parameters from file!\n");
return -1;
}
@@ -1531,7 +1518,7 @@ int dlt_file_read_header_extended(DltFile *file, int verbose)
(DLT_IS_HTYP_UEH(file->msg.standardheader->htyp) ? sizeof(DltExtendedHeader) : 0),
1,file->handle)!=1)
{
- dlt_log(LOG_ERR, "Cannot read extended header from file!\n");
+ dlt_log(LOG_WARNING, "Cannot read extended header from file!\n");
return -1;
}
@@ -1574,7 +1561,7 @@ int dlt_file_read_data(DltFile *file, int verbose)
if (file->msg.databuffer == 0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Cannot allocate memory for payload buffer of size %d!\n",file->msg.datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -1584,7 +1571,7 @@ int dlt_file_read_data(DltFile *file, int verbose)
if (file->msg.datasize!=0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Cannot read payload data from file of size %d!\n",file->msg.datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
}
@@ -1619,15 +1606,14 @@ int dlt_file_open(DltFile *file,const char *filename,int verbose)
if (file->handle == 0)
{
snprintf(str, DLT_COMMON_BUFFER_LENGTH - 1 ,"File %s cannot be opened!\n",filename);
-
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
if (0 != fseek(file->handle,0,SEEK_END))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"dlt_file_open: Seek failed to 0,SEEK_END");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
file->file_length = ftell(file->handle);
@@ -1635,7 +1621,7 @@ int dlt_file_open(DltFile *file,const char *filename,int verbose)
if (0 != fseek(file->handle,0,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"dlt_file_open: Seek failed to 0,SEEK_SET");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -1643,7 +1629,7 @@ int dlt_file_open(DltFile *file,const char *filename,int verbose)
{
/* print file length */
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"File is %lu bytes long\n",file->file_length);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
}
return 0;
}
@@ -1656,7 +1642,7 @@ int dlt_file_read(DltFile *file,int verbose)
if (verbose)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"%s: Message %d:\n",__func__, file->counter_total);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
}
if (file==0)
@@ -1686,7 +1672,7 @@ int dlt_file_read(DltFile *file,int verbose)
if (0 != fseek(file->handle,file->file_position,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Seek failed to file_position %ld \n",file->file_position);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -1714,7 +1700,7 @@ int dlt_file_read(DltFile *file,int verbose)
if (0 != fseek(file->handle,file->file_position,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Seek to last file pos failed!\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
return-1;
}
@@ -1736,12 +1722,12 @@ int dlt_file_read(DltFile *file,int verbose)
{
/* go back to last position in file */
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Seek failed to skip payload data of size %d!\n",file->msg.datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
if (0 != fseek(file->handle,file->file_position,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Seek back also failed!\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
return -1;
@@ -1756,12 +1742,12 @@ int dlt_file_read(DltFile *file,int verbose)
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Seek failed to skip extra header and payload data from file of size %d!\n",
file->msg.headersize - sizeof(DltStorageHeader) - sizeof(DltStandardHeader) + file->msg.datasize);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
/* go back to last position in file */
if (fseek(file->handle,file->file_position,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Seek back also failed!\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
return -1;
}
@@ -1791,7 +1777,7 @@ int dlt_file_read_raw(DltFile *file,int resync, int verbose)
if (verbose)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"%s: Message %d:\n",__func__, file->counter_total);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
}
if (file==0)
@@ -1823,7 +1809,7 @@ int dlt_file_read_raw(DltFile *file,int resync, int verbose)
if (verbose)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Position in file: %ld\n",file->file_position);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
}
/* read header */
@@ -1833,7 +1819,7 @@ int dlt_file_read_raw(DltFile *file,int resync, int verbose)
if (0!= fseek(file->handle,file->file_position,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"dlt_file_read_raw, fseek failed 1\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
return -1;
}
@@ -1845,7 +1831,7 @@ int dlt_file_read_raw(DltFile *file,int resync, int verbose)
if (0 != fseek(file->handle,file->file_position,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"dlt_file_read_raw, fseek failed 2\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
return-1;
}
@@ -1856,7 +1842,7 @@ int dlt_file_read_raw(DltFile *file,int resync, int verbose)
if (0 != fseek(file->handle,file->file_position,SEEK_SET))
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"dlt_file_read_raw, fseek failed 3\n");
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
}
return-1;
}
@@ -1909,7 +1895,7 @@ int dlt_file_message(DltFile *file,int index,int verbose)
if (index >= file->counter)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Message %d out of range!\r\n",index);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -1917,7 +1903,7 @@ int dlt_file_message(DltFile *file,int index,int verbose)
if (fseek(file->handle,file->index[index],SEEK_SET)!=0)
{
snprintf(str,DLT_COMMON_BUFFER_LENGTH,"Seek to message %d to position %ld failed!\r\n",index,file->index[index]);
- dlt_log(LOG_ERR, str);
+ dlt_log(LOG_WARNING, str);
return -1;
}
@@ -2006,7 +1992,9 @@ void dlt_log_free(void)
int dlt_log(int prio, char *s)
{
- char logfmtstring[DLT_COMMON_BUFFER_LENGTH];
+ static const char asSeverity[LOG_DEBUG+2][11] = {"EMERGENCY", "ALERT ", "CRITICAL ", "ERROR ", "WARNING ", "NOTICE ", "INFO ", "DEBUG ", " "};
+ static const char sFormatString[] = "[%5d.%06d]~DLT~%5d~%s~%s";
+ struct timespec sTimeSpec;
if (s==0)
{
@@ -2016,83 +2004,30 @@ int dlt_log(int prio, char *s)
{
return 0;
}
-
- switch (prio)
+ if ((prio < 0) || (prio > LOG_DEBUG))
{
- case LOG_EMERG:
- {
- strncpy(logfmtstring,"DLT| EMERGENCY: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- case LOG_ALERT:
- {
- strncpy(logfmtstring,"DLT| ALERT: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- case LOG_CRIT:
- {
- strncpy(logfmtstring,"DLT| CRITICAL: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- case LOG_ERR:
- {
- strncpy(logfmtstring,"DLT| ERROR: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- case LOG_WARNING:
- {
- strncpy(logfmtstring,"DLT| WARNING: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- case LOG_NOTICE:
- {
- strncpy(logfmtstring,"DLT| NOTICE: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- case LOG_INFO:
- {
- strncpy(logfmtstring,"DLT| INFO: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- case LOG_DEBUG:
- {
- strncpy(logfmtstring,"DLT| DEBUG: %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
- default:
- {
- strncpy(logfmtstring,"DLT| %s",sizeof(logfmtstring)-1);
- logfmtstring[sizeof(logfmtstring)-1]=0;
- break;
- }
+ prio = LOG_DEBUG + 1;
}
+ clock_gettime(CLOCK_MONOTONIC, &sTimeSpec);
switch(logging_mode)
{
case DLT_LOG_TO_CONSOLE:
/* log to stdout */
- printf(logfmtstring, s);
+ printf(sFormatString, (unsigned int)sTimeSpec.tv_sec, (unsigned int)(sTimeSpec.tv_nsec/1000), getpid(), asSeverity[prio], s);
break;
case DLT_LOG_TO_SYSLOG:
/* log to syslog */
#if !defined (__WIN32__) && !defined(_MSC_VER)
openlog("DLT",LOG_PID,LOG_DAEMON);
- syslog(prio, logfmtstring, s);
+ syslog(prio, sFormatString, (unsigned int)sTimeSpec.tv_sec, (unsigned int)(sTimeSpec.tv_nsec/1000), getpid(), getpid(), asSeverity[prio], s);
closelog();
#endif
break;
case DLT_LOG_TO_FILE:
/* log to file */
if(logging_handle) {
- fprintf(logging_handle,logfmtstring, s);
+ fprintf(logging_handle,sFormatString, (unsigned int)sTimeSpec.tv_sec, (unsigned int)(sTimeSpec.tv_nsec/1000), getpid(), getpid(), asSeverity[prio], s);
fflush(logging_handle);
}
break;
@@ -2340,7 +2275,7 @@ int dlt_buffer_init_static_server(DltBuffer *buf, const unsigned char *ptr, uint
memset(buf->mem,0,buf->size);
snprintf(str,sizeof(str),"Buffer: Size %d\n",buf->size);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
return 0; /* OK */
}
@@ -2360,7 +2295,7 @@ int dlt_buffer_init_static_client(DltBuffer *buf, const unsigned char *ptr, uint
buf->size = buf->min_size - sizeof(DltBufferHead);
snprintf(str,sizeof(str),"Buffer: Size %d\n",buf->size);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
return 0; /* OK */
}
@@ -2405,7 +2340,7 @@ int dlt_buffer_free_static(DltBuffer *buf)
{
if(!buf->mem) {
// buffer not initialised
- dlt_log(LOG_ERR,"Buffer: Buffer not initialised\n");
+ dlt_log(LOG_WARNING,"Buffer: Buffer not initialised\n");
return -1; /* ERROR */
}
@@ -2416,7 +2351,7 @@ int dlt_buffer_free_dynamic(DltBuffer *buf)
{
if(!buf->shm) {
// buffer not initialised
- dlt_log(LOG_ERR,"Buffer: Buffer not initialised\n");
+ dlt_log(LOG_WARNING,"Buffer: Buffer not initialised\n");
return -1; /* ERROR */
}
@@ -2508,7 +2443,7 @@ int dlt_buffer_increase_size(DltBuffer *buf)
buf->size += buf->step_size;
snprintf(str,sizeof(str),"Buffer: Size increased to %d bytes\n",buf->size+sizeof(DltBufferHead));
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
return 0; // OK
}
@@ -2547,14 +2482,14 @@ int dlt_buffer_minimize_size(DltBuffer *buf)
// clear memory
memset(buf->mem,0,buf->size);
- dlt_log(LOG_INFO,"Buffer: Buffer minimized.\n");
+ dlt_log(LOG_DEBUG,"Buffer: Buffer minimized.\n");
return 0; /* OK */
}
int dlt_buffer_reset(DltBuffer *buf)
{
- dlt_log(LOG_ERR,"Buffer: Buffer reset triggered.\n");
+ dlt_log(LOG_WARNING,"Buffer: Buffer reset triggered.\n");
/* reset pointers and counters */
((int*)(buf->shm))[0] = 0; // pointer to write memory
@@ -2770,11 +2705,11 @@ void dlt_buffer_info(DltBuffer *buf)
char str[256];
snprintf(str,sizeof(str),"Buffer: Available size: %d\n",buf->size);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
snprintf(str,sizeof(str),"Buffer: Buffer full start address: %lX\n",(unsigned long)buf->shm);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
snprintf(str,sizeof(str),"Buffer: Buffer start address: %lX\n",(unsigned long)buf->mem);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
}
@@ -2792,11 +2727,11 @@ void dlt_buffer_status(DltBuffer *buf)
count = ((int*)(buf->shm))[2];
snprintf(str,sizeof(str),"Buffer: Write: %d\n",write);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
snprintf(str,sizeof(str),"Buffer: Read: %d\n",read);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
snprintf(str,sizeof(str),"Buffer: Count: %d\n",count);
- dlt_log(LOG_INFO, str);
+ dlt_log(LOG_DEBUG, str);
}
int dlt_buffer_get_total_size(DltBuffer *buf)
diff --git a/src/shared/dlt_shm.c b/src/shared/dlt_shm.c
index a3eab81..d4eb35b 100644
--- a/src/shared/dlt_shm.c
+++ b/src/shared/dlt_shm.c
@@ -88,7 +88,7 @@ void dlt_shm_pv(int id,int operation)
semaphor.sem_flg = SEM_UNDO;
if(semop(id, &semaphor,1) == -1) {
- dlt_log(LOG_ERR,"SHM: semop");
+ dlt_log(LOG_WARNING,"SHM: semop() failed");
}
}
@@ -102,32 +102,32 @@ int dlt_shm_init_server(DltShm *buf,int key,int size) {
// Create the segment.
if ((buf->shmid = shmget(key, size, IPC_CREAT | 0666)) < 0) {
- dlt_log(LOG_ERR,"SHM: shmget");
+ dlt_log(LOG_WARNING,"SHM: shmget() failed");
return -1; /* ERROR */
}
// get the size of shm
if (shmctl(buf->shmid, IPC_STAT, &shm_buf))
{
- dlt_log(LOG_ERR,"SHM: shmctl");
+ dlt_log(LOG_WARNING,"SHM: shmctl() failed");
return -1; /* ERROR */
}
// Now we attach the segment to our data space.
if ((ptr = shmat(buf->shmid, NULL, 0)) == (unsigned char *) -1) {
- dlt_log(LOG_ERR,"SHM: shmat");
+ dlt_log(LOG_WARNING,"SHM: shmat() failed");
return -1; /* ERROR */
}
// Init semaphore
if( (buf->semid = semget(DLT_SHM_SEM,1,S_IRWXU|S_IRWXG|S_IRWXO|IPC_CREAT|IPC_EXCL)) == -1 ) {
if( (buf->semid = semget(DLT_SHM_SEM,1,S_IRWXU|S_IRWXG|S_IRWXO|IPC_EXCL)) == -1 ) {
- dlt_log(LOG_ERR,"SHM: semget");
+ dlt_log(LOG_WARNING,"SHM: semget() failed");
return -1; /* ERROR */
}
}
if( semctl(buf->semid,0,SETVAL,(int)1) == -1 ) {
- dlt_log(LOG_ERR,"SHM: semctl");
+ dlt_log(LOG_WARNING,"SHM: semctl() failed");
return -1; /* ERROR */
}
@@ -147,26 +147,26 @@ int dlt_shm_init_client(DltShm *buf,int key) {
// Create the segment.
if ((buf->shmid = shmget(key, 0, 0666)) < 0) {
- dlt_log(LOG_ERR,"SHM: shmget");
+ dlt_log(LOG_WARNING,"SHM: shmget() failed");
return -1; /* ERROR */
}
// get the size of shm
if (shmctl(buf->shmid, IPC_STAT, &shm_buf))
{
- dlt_log(LOG_ERR,"SHM: shmctl");
+ dlt_log(LOG_WARNING,"SHM: shmctl() failed");
return -1; /* ERROR */
}
// Now we attach the segment to our data space.
if ((ptr = shmat(buf->shmid, NULL, 0)) == (unsigned char *) -1) {
- dlt_log(LOG_ERR,"shmat");
+ dlt_log(LOG_WARNING,"shmat() failed");
return -1; /* ERROR */
}
// Init semaphore
if( (buf->semid = semget(DLT_SHM_SEM,0,0)) == -1 ) {
- dlt_log(LOG_ERR,"SHM: semget");
+ dlt_log(LOG_WARNING,"SHM: semget() failed");
return -1; /* ERROR */
}
@@ -274,17 +274,17 @@ int dlt_shm_remove(DltShm *buf)
int dlt_shm_free_server(DltShm *buf) {
if(shmdt(buf->buffer.shm)) {
- dlt_log(LOG_ERR,"SHM: shmdt");
+ dlt_log(LOG_WARNING,"SHM: shmdt() failed");
return -1; /* ERROR */
}
if(shmctl(buf->shmid,IPC_RMID,NULL) == -1) {
- dlt_log(LOG_ERR,"SHM: shmdt");
+ dlt_log(LOG_WARNING,"SHM: shmdt() failed");
return -1; /* ERROR */
}
if(semctl(buf->semid,0,IPC_RMID,(int)0) == -1) {
- dlt_log(LOG_ERR,"SHM: shmdt");
+ dlt_log(LOG_WARNING,"SHM: shmdt() failed");
return -1; /* ERROR */
}
@@ -299,7 +299,7 @@ int dlt_shm_free_server(DltShm *buf) {
int dlt_shm_free_client(DltShm *buf) {
if(shmdt(buf->buffer.shm)) {
- dlt_log(LOG_ERR,"SHM: shmdt");
+ dlt_log(LOG_WARNING,"SHM: shmdt() failed");
return -1; /* ERROR */
}