From: Jonathan Rajotte Date: Tue, 10 Apr 2018 17:56:47 +0000 (-0400) Subject: Fix: hold consumer socket lock for consumer_send_msg X-Git-Tag: v2.10.4~17 X-Git-Url: http://git.liburcu.org/?p=lttng-tools.git;a=commitdiff_plain;h=1b0afea26b25d92ebdcb2a178bd1a60085ff78aa Fix: hold consumer socket lock for consumer_send_msg The lock is held and released during the recv() section, but not during the send section for a failure to lookup the PID registry. Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/ust-consumer.c b/src/bin/lttng-sessiond/ust-consumer.c index 82fd0ea07..a2258f409 100644 --- a/src/bin/lttng-sessiond/ust-consumer.c +++ b/src/bin/lttng-sessiond/ust-consumer.c @@ -505,7 +505,9 @@ int ust_consumer_metadata_request(struct consumer_socket *socket) memset(&msg, 0, sizeof(msg)); msg.cmd_type = LTTNG_ERR_UND; + pthread_mutex_lock(socket->lock); (void) consumer_send_msg(socket, &msg); + pthread_mutex_unlock(socket->lock); /* * This is possible since the session might have been destroyed * during a consumer metadata request. So here, return gracefully