diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-06-28 17:04:23 +0200 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-08-31 18:31:55 +0200 |
commit | 363e14b1c0fdb4f2d10d06037c729ecd3685fbbe (patch) | |
tree | 21aca58efad45dd39e5452b0d7c0762f28a47bb5 | |
parent | c5c3fbd1b3571645d436280e5515442da93e1505 (diff) | |
download | hardware_replicant_libsamsung-ril-main.tar.gz hardware_replicant_libsamsung-ril-main.tar.bz2 hardware_replicant_libsamsung-ril-main.zip |
srs-client: srs_client_send: do more precise lockingHEADreplicant-11-nlnet-eu-grant-825310-replicant-updatereplicant-6.0mastermain
The following code:
memset(&message, 0, sizeof(message));
message.command = command;
message.data = data;
message.size = size;
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 <GNUtoo@cyberdimension.org>
-rw-r--r-- | srs-client/srs-client.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/srs-client/srs-client.c b/srs-client/srs-client.c index d16c597..6f3b467 100644 --- a/srs-client/srs-client.c +++ b/srs-client/srs-client.c @@ -270,8 +270,6 @@ int srs_client_send(struct srs_client *client, unsigned short command, if (client == NULL || client->fd < 0) return -1; - SRS_CLIENT_LOCK(client); - memset(&message, 0, sizeof(message)); message.command = command; message.data = data; @@ -288,6 +286,8 @@ int srs_client_send(struct srs_client *client, unsigned short command, memcpy(p, message.data, message.size); } + SRS_CLIENT_LOCK(client); + memset(&timeout, 0, sizeof(timeout)); timeout.tv_usec = 300; |