From c5c3fbd1b3571645d436280e5515442da93e1505 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Tue, 28 Jun 2022 17:04:23 +0200 Subject: srs: srs_client_send: do more precise locking The following code: srs_header_setup(&header, message); length = header.length; buffer = calloc(1, length); memcpy(buffer, &header, sizeof(header)); if (message->data != NULL && message->size > 0) { p = (unsigned char *) buffer + sizeof(header); memcpy(p, message->data, message->size); } doesn't depend on shared data structures, so it doesn't need to be guarded by a mutex. Signed-off-by: Denis 'GNUtoo' Carikli --- srs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/srs.c b/srs.c index 505210b..cae57cc 100644 --- a/srs.c +++ b/srs.c @@ -467,7 +467,6 @@ int srs_client_send(struct ril_client *client, struct srs_message *message) if (data->client_fd < 0) return -1; - RIL_CLIENT_LOCK(client); srs_header_setup(&header, message); @@ -480,6 +479,8 @@ int srs_client_send(struct ril_client *client, struct srs_message *message) memcpy(p, message->data, message->size); } + RIL_CLIENT_LOCK(client); + srs_log_send(client, message); memset(&timeout, 0, sizeof(timeout)); -- cgit v1.2.3