memset(&rq, 0, sizeof(rq));
rq.stream_id = htobe64(stream->id);
- /* Already in big endian. */
- rq.offset = offset;
+ rq.offset = htobe64(offset);
rq.len = htobe32(len);
ret_len = lttng_live_send(ctx->control_sock, &cmd, sizeof(cmd));
printf_verbose("get_data_packet for stream %" PRIu64 "\n",
viewer_stream->id);
ret = get_data_packet(session->ctx, pos, viewer_stream,
- be64toh(cur_index->offset),
+ cur_index->offset,
cur_index->packet_size / CHAR_BIT);
if (ret == -2) {
goto retry;
return -1;
}
-void lttng_live_read(struct lttng_live_ctx *ctx)
+int lttng_live_read(struct lttng_live_ctx *ctx)
{
- int ret, i;
+ int ret = -1;
+ int i;
struct bt_ctf_iter *iter;
const struct bt_ctf_event *event;
struct bt_iter_pos begin_pos;
int flags;
if (lttng_live_should_quit()) {
+ ret = 0;
goto end_free;
}
while (!ctx->session->stream_count) {
if (lttng_live_should_quit()
|| ctx->session_ids->len == 0) {
+ ret = 0;
goto end_free;
}
ret = ask_new_streams(ctx);
}
for (;;) {
if (lttng_live_should_quit()) {
+ ret = 0;
goto end_free;
}
event = bt_ctf_iter_read_event_flags(iter, &flags);
end_free:
bt_context_put(ctx->bt_ctx);
end:
- return;
+ return ret;
}