From 04c33ad7f26b44288043c22ef7d2a97224538f18 Mon Sep 17 00:00:00 2001 From: Christian Muck Date: Tue, 8 May 2012 10:23:57 +0200 Subject: [GDLT-3] Fixed missing semaphore around dlt_buffer_push3 Signed-off-by: Christian Muck --- src/daemon/dlt_daemon_common.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/daemon/dlt_daemon_common.c') diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c index 9a2cbea..66e2b20 100644 --- a/src/daemon/dlt_daemon_common.c +++ b/src/daemon/dlt_daemon_common.c @@ -2221,6 +2221,7 @@ void dlt_daemon_control_send_control_message( int sock, DltDaemon *daemon, DltMe } else { + DLT_DAEMON_SEM_LOCK(); /* Store message in history buffer */ if (dlt_buffer_push3(&(daemon->client_ringbuffer), msg->headerbuffer+sizeof(DltStorageHeader),msg->headersize-sizeof(DltStorageHeader), @@ -2228,9 +2229,11 @@ void dlt_daemon_control_send_control_message( int sock, DltDaemon *daemon, DltMe 0, 0 )<0) { + DLT_DAEMON_SEM_FREE(); dlt_log(LOG_ERR,"Storage of message in history buffer failed! Message discarded.\n"); return; } + DLT_DAEMON_SEM_FREE(); } } -- cgit v1.2.1