X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fkernel-consumer%2Fkernel-consumer.c;h=249df8a47bc4789ae9aedee05300e248c52e926e;hp=4e000fbd167e294c6b9139b6b7bdd2cf0098d6f1;hb=6efae65ee1d5c6b048f0f4cd778d784d3857e459;hpb=a98dae5fe5dc81dcf7e5146d3d6915dd6b3d055a diff --git a/src/common/kernel-consumer/kernel-consumer.c b/src/common/kernel-consumer/kernel-consumer.c index 4e000fbd1..249df8a47 100644 --- a/src/common/kernel-consumer/kernel-consumer.c +++ b/src/common/kernel-consumer/kernel-consumer.c @@ -502,7 +502,9 @@ int lttng_kconsumer_data_available(struct lttng_consumer_stream *stream) */ ret = pthread_mutex_trylock(&stream->lock); if (ret == EBUSY) { - goto data_not_available; + /* Data not available */ + ret = 0; + goto end; } /* The stream is now locked so we can do our ustctl calls */ @@ -511,14 +513,14 @@ int lttng_kconsumer_data_available(struct lttng_consumer_stream *stream) /* There is still data so let's put back this subbuffer. */ ret = kernctl_put_subbuf(stream->wait_fd); assert(ret == 0); - pthread_mutex_unlock(&stream->lock); - goto data_not_available; + goto end_unlock; } /* Data is available to be read for this stream. */ - pthread_mutex_unlock(&stream->lock); - return 1; + ret = 1; -data_not_available: - return 0; +end_unlock: + pthread_mutex_unlock(&stream->lock); +end: + return ret; }