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.12.3~2 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=7f1b22f2ae8abb4e0c327d5c0e561845634022ff;p=lttng-tools.git 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 e522de750..88520dbe2 100644 --- a/src/common/ust-consumer/ust-consumer.c +++ b/src/common/ust-consumer/ust-consumer.c @@ -1317,6 +1317,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; @@ -1325,10 +1326,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;