From 3bdc49f3a50993ea65256e539027cfa55fbd16b0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Mon, 8 Feb 2021 13:00:56 -0500 Subject: [PATCH] Clean-up: ust-consumer: simplify metadata cache unlock on error path MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The metadata cache lock can be released directly after the call to consumer_metadata_cache_write() since nothing depends on the cache being locked after. This simplifies the unlocking of the metadata cache by removing an extra "unlock" that is specific to an error path. Signed-off-by: Jérémie Galarneau Change-Id: Ib0151d9640309005dfc83e95efb538e3c4f0df4a --- src/common/ust-consumer/ust-consumer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/common/ust-consumer/ust-consumer.c b/src/common/ust-consumer/ust-consumer.c index 9ec5763c1..6a0942e4e 100644 --- a/src/common/ust-consumer/ust-consumer.c +++ b/src/common/ust-consumer/ust-consumer.c @@ -1322,6 +1322,7 @@ int lttng_ustconsumer_recv_metadata(int sock, uint64_t key, uint64_t offset, pthread_mutex_lock(&channel->metadata_cache->lock); ret = consumer_metadata_cache_write(channel, offset, len, version, metadata_str); + pthread_mutex_unlock(&channel->metadata_cache->lock); if (ret < 0) { /* Unable to handle metadata. Notify session daemon. */ ret_code = LTTCOMM_CONSUMERD_ERROR_METADATA; @@ -1330,10 +1331,8 @@ int lttng_ustconsumer_recv_metadata(int sock, uint64_t key, uint64_t offset, * not have been updated which could create an infinite loop below when * waiting for the metadata cache to be flushed. */ - pthread_mutex_unlock(&channel->metadata_cache->lock); goto end_free; } - pthread_mutex_unlock(&channel->metadata_cache->lock); if (!wait) { goto end_free; -- 2.34.1