* receive a ret value that is bigger than len.
*/
ret = lttng_write(outfd, buffer->data, write_len);
- DBG("Consumer mmap write() ret %zd (len %lu)", ret, write_len);
+ DBG("Consumer mmap write() ret %zd (len %zu)", ret, write_len);
if (ret < 0 || ((size_t) ret != write_len)) {
/*
* Report error to caller if nothing was written else at least send the
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 = {};
if (ret == -ENODATA) {
/* Not an error. */
ret = 0;
+ goto sleep_stream;
}
goto end;
}
* 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);
goto end;
}
+sleep_stream:
if (stream->read_subbuffer_ops.on_sleep) {
stream->read_subbuffer_ops.on_sleep(stream, ctx);
}