X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fkernel-consumer%2Fkernel-consumer.c;h=249df8a47bc4789ae9aedee05300e248c52e926e;hb=8994307fa7ccf9b61cc0157f2c5d34e248c56641;hp=4e000fbd167e294c6b9139b6b7bdd2cf0098d6f1;hpb=c8f59ee5fc11492ef472dc5cfd2fd2c4926b1787;p=lttng-tools.git 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; }