X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Flttng-live%2Flttng-live-comm.c;h=6c5d4fd296f55fc9f23f4bba506432c3889f367c;hp=bfcef6905be4987d4ccee89dcb88ddf027766cf7;hb=f3985ab106d89d8e764c1a8dd0c8bda09b755d10;hpb=220e0cbec97669ccfe4ed8a7e69c73c9ac72062d diff --git a/formats/lttng-live/lttng-live-comm.c b/formats/lttng-live/lttng-live-comm.c index bfcef690..6c5d4fd2 100644 --- a/formats/lttng-live/lttng-live-comm.c +++ b/formats/lttng-live/lttng-live-comm.c @@ -53,22 +53,13 @@ #include #include #include +#include #include "lttng-live.h" #include "lttng-viewer-abi.h" #define ACTIVE_POLL_DELAY 100 /* ms */ -/* - * Memory allocation zeroed - */ -#define zmalloc(x) calloc(1, x) - -#ifndef max_t -#define max_t(type, a, b) \ - ((type) (a) > (type) (b) ? (type) (a) : (type) (b)) -#endif - static void ctf_live_packet_seek(struct bt_stream_pos *stream_pos, size_t index, int whence); static int add_traces(struct lttng_live_ctx *ctx); @@ -166,7 +157,7 @@ int lttng_live_establish_connection(struct lttng_live_ctx *ctx) } cmd.cmd = htobe32(LTTNG_VIEWER_CONNECT); - cmd.data_size = htobe64(sizeof(connect)); + cmd.data_size = htobe64((uint64_t) sizeof(connect)); cmd.cmd_version = htobe32(0); connect.viewer_session_id = -1ULL; /* will be set on recv */ @@ -307,7 +298,7 @@ int lttng_live_list_sessions(struct lttng_live_ctx *ctx, const char *path) } cmd.cmd = htobe32(LTTNG_VIEWER_LIST_SESSIONS); - cmd.data_size = htobe64(0); + cmd.data_size = htobe64((uint64_t) 0); cmd.cmd_version = htobe32(0); ret_len = lttng_live_send(ctx->control_sock, &cmd, sizeof(cmd)); @@ -408,7 +399,7 @@ int open_metadata_fp_write(struct lttng_live_viewer_stream *stream, int ret = 0; stream->metadata_fp_write = - babeltrace_open_memstream(metadata_buf, size); + bt_open_memstream(metadata_buf, size); if (!stream->metadata_fp_write) { perror("Metadata open_memstream"); ret = -1; @@ -432,7 +423,7 @@ int lttng_live_attach_session(struct lttng_live_ctx *ctx, uint64_t id) } cmd.cmd = htobe32(LTTNG_VIEWER_ATTACH_SESSION); - cmd.data_size = htobe64(sizeof(rq)); + cmd.data_size = htobe64((uint64_t) sizeof(rq)); cmd.cmd_version = htobe32(0); memset(&rq, 0, sizeof(rq)); @@ -610,7 +601,7 @@ int append_metadata(struct lttng_live_ctx *ctx, metadata = viewer_stream->ctf_trace->metadata_stream; metadata->ctf_trace->metadata_fp = - babeltrace_fmemopen(metadata_buf, + bt_fmemopen(metadata_buf, metadata->metadata_len, "rb"); if (!metadata->ctf_trace->metadata_fp) { perror("Metadata fmemopen"); @@ -650,19 +641,8 @@ retry: goto end; } - /* - * Flush the output between attempts to grab a packet, thus - * ensuring we flush at least at the periodical timer period. - * This ensures the output remains reactive for interactive users and - * that the output is flushed when redirected to a file by the shell. - */ - if (fflush(LTTNG_LIVE_OUTPUT_FP) < 0) { - perror("fflush"); - goto error; - } - cmd.cmd = htobe32(LTTNG_VIEWER_GET_PACKET); - cmd.data_size = htobe64(sizeof(rq)); + cmd.data_size = htobe64((uint64_t) sizeof(rq)); cmd.cmd_version = htobe32(0); memset(&rq, 0, sizeof(rq)); @@ -814,7 +794,7 @@ int get_one_metadata_packet(struct lttng_live_ctx *ctx, rq.stream_id = htobe64(metadata_stream->id); cmd.cmd = htobe32(LTTNG_VIEWER_GET_METADATA); - cmd.data_size = htobe64(sizeof(rq)); + cmd.data_size = htobe64((uint64_t) sizeof(rq)); cmd.cmd_version = htobe32(0); ret_len = lttng_live_send(ctx->control_sock, &cmd, sizeof(cmd)); @@ -944,9 +924,9 @@ int get_new_metadata(struct lttng_live_ctx *ctx, } } while (ret > 0 || !len_read); - if (babeltrace_close_memstream(metadata_buf, &size, + if (bt_close_memstream(metadata_buf, &size, metadata_stream->metadata_fp_write)) { - perror("babeltrace_close_memstream"); + perror("bt_close_memstream"); } metadata_stream->metadata_fp_write = NULL; @@ -989,7 +969,7 @@ int get_next_index(struct lttng_live_ctx *ctx, struct lttng_viewer_index *rp = &viewer_stream->current_index; cmd.cmd = htobe32(LTTNG_VIEWER_GET_NEXT_INDEX); - cmd.data_size = htobe64(sizeof(rq)); + cmd.data_size = htobe64((uint64_t) sizeof(rq)); cmd.cmd_version = htobe32(0); memset(&rq, 0, sizeof(rq)); @@ -1293,6 +1273,17 @@ retry: cur_index->ts_real.timestamp_begin; } + /* + * Flush the output between attempts to grab a packet, thus + * ensuring we flush at least at the periodical timer period. + * This ensures the output remains reactive for interactive users and + * that the output is flushed when redirected to a file by the shell. + */ + if (fflush(LTTNG_LIVE_OUTPUT_FP) < 0) { + perror("fflush"); + goto end; + } + if (pos->packet_size == 0 || pos->offset == EOF) { goto end; } @@ -1332,7 +1323,7 @@ int lttng_live_create_viewer_session(struct lttng_live_ctx *ctx) } cmd.cmd = htobe32(LTTNG_VIEWER_CREATE_SESSION); - cmd.data_size = htobe64(0); + cmd.data_size = htobe64((uint64_t) 0); cmd.cmd_version = htobe32(0); ret_len = lttng_live_send(ctx->control_sock, &cmd, sizeof(cmd)); @@ -1432,7 +1423,7 @@ int add_one_trace(struct lttng_live_ctx *ctx, goto end_free; } - trace->metadata_fp = babeltrace_fmemopen(metadata_buf, + trace->metadata_fp = bt_fmemopen(metadata_buf, stream->metadata_len, "rb"); if (!trace->metadata_fp) { perror("Metadata fmemopen"); @@ -1522,7 +1513,7 @@ int lttng_live_get_new_streams(struct lttng_live_ctx *ctx, uint64_t id) } cmd.cmd = htobe32(LTTNG_VIEWER_GET_NEW_STREAMS); - cmd.data_size = htobe64(sizeof(rq)); + cmd.data_size = htobe64((uint64_t) sizeof(rq)); cmd.cmd_version = htobe32(0); memset(&rq, 0, sizeof(rq)); @@ -1646,7 +1637,7 @@ int lttng_live_read(struct lttng_live_ctx *ctx) goto end; } - fmt_write = bt_lookup_format(g_quark_from_static_string("text")); + fmt_write = bt_lookup_format(g_quark_from_string("text")); if (!fmt_write) { fprintf(stderr, "[error] ctf-text error\n"); goto end;