* Returns the number of bytes written
*/
ssize_t lttng_consumer_on_read_subbuffer_mmap(
- struct lttng_consumer_local_data *ctx,
struct lttng_consumer_stream *stream,
const struct lttng_buffer_view *buffer,
unsigned long padding)
* 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
if (ret == -ENODATA) {
/* Not an error. */
ret = 0;
+ goto sleep_stream;
}
goto end;
}
goto end;
}
+stream_sleep:
if (stream->read_subbuffer_ops.on_sleep) {
stream->read_subbuffer_ops.on_sleep(stream, ctx);
}