X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer.c;h=311c64020327cdcfdb1f55a925c7b2cc90b60729;hp=50951fd28db4f645e9ec1c75e6984193a7416d10;hb=a7f0a051bc110f60a96676b40fd8e7436f8c0efb;hpb=e2d1190b9ea09c54e5d7373643d62e2034bc1531 diff --git a/src/common/consumer/consumer.c b/src/common/consumer/consumer.c index 50951fd28..311c64020 100644 --- a/src/common/consumer/consumer.c +++ b/src/common/consumer/consumer.c @@ -3314,7 +3314,7 @@ ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream, struct lttng_consumer_local_data *ctx, bool locked_by_caller) { - ssize_t ret, written_bytes; + ssize_t ret, written_bytes = 0; int rotation_ret; struct stream_subbuffer subbuffer = {}; @@ -3347,6 +3347,7 @@ ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream, if (ret == -ENODATA) { /* Not an error. */ ret = 0; + goto sleep_stream; } goto end; } @@ -3375,8 +3376,8 @@ ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream, * error. */ DBG("Failed to write to tracefile (written_bytes: %zd != padded subbuffer size: %lu, subbuffer size: %lu)", - written_bytes, subbuffer.info.data.subbuf_size, - subbuffer.info.data.padded_subbuf_size); + written_bytes, subbuffer.info.data.padded_subbuf_size, + subbuffer.info.data.subbuf_size); } ret = stream->read_subbuffer_ops.put_next_subbuffer(stream, &subbuffer); @@ -3412,6 +3413,7 @@ ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream, goto end; } +sleep_stream: if (stream->read_subbuffer_ops.on_sleep) { stream->read_subbuffer_ops.on_sleep(stream, ctx); }