From: Jérémie Galarneau Date: Mon, 8 Feb 2021 18:00:56 +0000 (-0500) Subject: Clean-up: ust-consumer: simplify metadata cache unlock on error path X-Git-Tag: v2.13.0-rc1~352 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=3bdc49f3a50993ea65256e539027cfa55fbd16b0 Clean-up: ust-consumer: simplify metadata cache unlock on error path 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 --- 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;