Fix: consumerd: uninitialized written_bytes on no-data sleep
[lttng-tools.git] / src / common / consumer / consumer.c
index bae4c294bd6938ec09f4a5b22df2fa787a819f6b..688492e439d0811cc17308667055a5bcc7c3b9d5 100644 (file)
@@ -3146,7 +3146,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;
        struct stream_subbuffer subbuffer = {};
 
        if (!locked_by_caller) {
@@ -3165,6 +3165,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;
        }
@@ -3209,6 +3210,7 @@ ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream,
                }
        }
 
+sleep_stream:
        if (stream->read_subbuffer_ops.on_sleep) {
                stream->read_subbuffer_ops.on_sleep(stream, ctx);
        }
This page took 0.028206 seconds and 5 git commands to generate.