X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.c;h=295e7be5dab1b533143e4ce2fa6a5be16ddb1c5d;hb=6f6eda74c76594068cd8c435c62bf8100a9d734a;hp=132e3ec6891f925006b8b43910b2a24b3e22f468;hpb=c801b30e68fa643d789a8f0912a278bf1c2683ca;p=lttng-tools.git diff --git a/src/common/consumer.c b/src/common/consumer.c index 132e3ec68..295e7be5d 100644 --- a/src/common/consumer.c +++ b/src/common/consumer.c @@ -1266,11 +1266,11 @@ ssize_t lttng_consumer_on_read_subbuffer_mmap( lttng_consumer_sync_trace_file(stream, orig_offset); end: - pthread_mutex_unlock(&stream->lock); /* Unlock only if ctrl socket used */ if (relayd && stream->metadata_flag) { pthread_mutex_unlock(&relayd->ctrl_sock_mutex); } + pthread_mutex_unlock(&stream->lock); rcu_read_unlock(); return written; @@ -1451,10 +1451,10 @@ splice_error: } end: - pthread_mutex_unlock(&stream->lock); if (relayd && stream->metadata_flag) { pthread_mutex_unlock(&relayd->ctrl_sock_mutex); } + pthread_mutex_unlock(&stream->lock); rcu_read_unlock(); return written; @@ -2462,6 +2462,7 @@ int consumer_data_available(uint64_t id) DBG("Consumer data available command on session id %" PRIu64, id); + rcu_read_lock(); pthread_mutex_lock(&consumer_data.lock); switch (consumer_data.type) { @@ -2477,8 +2478,6 @@ int consumer_data_available(uint64_t id) assert(0); } - rcu_read_lock(); - /* Ease our life a bit */ ht = consumer_data.stream_list_ht;