X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Flttng-live%2Flttng-live.c;h=d2a92f3dd1f91d195c80de31752bd4aa17fea750;hb=851de941fc0cdea645b905098fb8f2a61dfdd161;hp=d12b674d3f3c7c754531f4eef2ad54b4e3b7233a;hpb=1419db2bc0c6a10865f6bf6f22e055e51a1449bc;p=babeltrace.git diff --git a/src/plugins/ctf/lttng-live/lttng-live.c b/src/plugins/ctf/lttng-live/lttng-live.c index d12b674d..d2a92f3d 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.c +++ b/src/plugins/ctf/lttng-live/lttng-live.c @@ -33,11 +33,12 @@ #define BT_LOG_TAG "PLUGIN/SRC.CTF.LTTNG-LIVE" #include "logging/comp-logging.h" -#include #include #include #include +#include + #include "common/assert.h" #include #include "compat/compiler.h" @@ -81,7 +82,7 @@ const char *print_live_iterator_status(enum lttng_live_iterator_status status) case LTTNG_LIVE_ITERATOR_STATUS_UNSUPPORTED: return "LTTNG_LIVE_ITERATOR_STATUS_UNSUPPORTED"; default: - abort(); + bt_common_abort(); } } @@ -316,7 +317,9 @@ void lttng_live_msg_iter_destroy(struct lttng_live_msg_iter *lttng_live_msg_iter g_ptr_array_free(lttng_live_msg_iter->sessions, TRUE); } - BT_OBJECT_PUT_REF_AND_RESET(lttng_live_msg_iter->viewer_connection); + if (lttng_live_msg_iter->viewer_connection) { + live_viewer_connection_destroy(lttng_live_msg_iter->viewer_connection); + } BT_ASSERT(lttng_live_msg_iter->lttng_live_comp); BT_ASSERT(lttng_live_msg_iter->lttng_live_comp->has_msg_iter); @@ -356,11 +359,11 @@ enum lttng_live_iterator_status lttng_live_iterator_next_check_stream_state( case LTTNG_LIVE_STREAM_ACTIVE_NO_DATA: /* Invalid state. */ BT_COMP_LOGF("Unexpected stream state \"ACTIVE_NO_DATA\""); - abort(); + bt_common_abort(); case LTTNG_LIVE_STREAM_QUIESCENT_NO_DATA: /* Invalid state. */ BT_COMP_LOGF("Unexpected stream state \"QUIESCENT_NO_DATA\""); - abort(); + bt_common_abort(); case LTTNG_LIVE_STREAM_EOF: break; } @@ -446,7 +449,8 @@ enum lttng_live_iterator_status lttng_live_get_session( if (!session->attached) { enum lttng_live_attach_session_status attach_status = - lttng_live_attach_session(session); + lttng_live_attach_session(session, + lttng_live_msg_iter->self_msg_iter); if (attach_status != LTTNG_LIVE_ATTACH_SESSION_STATUS_OK) { if (lttng_live_graph_is_canceled(lttng_live_msg_iter)) { /* @@ -466,7 +470,8 @@ enum lttng_live_iterator_status lttng_live_get_session( } } - status = lttng_live_get_new_streams(session); + status = lttng_live_get_new_streams(session, + lttng_live_msg_iter->self_msg_iter); if (status != LTTNG_LIVE_ITERATOR_STATUS_OK && status != LTTNG_LIVE_ITERATOR_STATUS_END) { goto end; @@ -498,7 +503,8 @@ enum lttng_live_iterator_status lttng_live_get_session( goto end; } } - status = lttng_live_lazy_msg_init(session); + status = lttng_live_lazy_msg_init(session, + lttng_live_msg_iter->self_msg_iter); end: return status; @@ -767,7 +773,7 @@ enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_active_data_ enum lttng_live_iterator_status ret = LTTNG_LIVE_ITERATOR_STATUS_OK; bt_logging_level log_level = lttng_live_msg_iter->log_level; bt_self_component *self_comp = lttng_live_msg_iter->self_comp; - enum bt_msg_iter_status status; + enum ctf_msg_iter_status status; uint64_t session_idx, trace_idx; for (session_idx = 0; session_idx < lttng_live_msg_iter->sessions->len; @@ -795,16 +801,16 @@ enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_active_data_ goto end; } - status = bt_msg_iter_get_next_message(lttng_live_stream->msg_iter, - lttng_live_msg_iter->self_msg_iter, message); + status = ctf_msg_iter_get_next_message( + lttng_live_stream->msg_iter, message); switch (status) { - case BT_MSG_ITER_STATUS_EOF: + case CTF_MSG_ITER_STATUS_EOF: ret = LTTNG_LIVE_ITERATOR_STATUS_END; break; - case BT_MSG_ITER_STATUS_OK: + case CTF_MSG_ITER_STATUS_OK: ret = LTTNG_LIVE_ITERATOR_STATUS_OK; break; - case BT_MSG_ITER_STATUS_AGAIN: + case CTF_MSG_ITER_STATUS_AGAIN: /* * Continue immediately (end of packet). The next * get_index may return AGAIN to delay the following @@ -812,9 +818,9 @@ enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_active_data_ */ ret = LTTNG_LIVE_ITERATOR_STATUS_CONTINUE; break; - case BT_MSG_ITER_STATUS_INVAL: + case CTF_MSG_ITER_STATUS_INVAL: /* No argument provided by the user, so don't return INVAL. */ - case BT_MSG_ITER_STATUS_ERROR: + case CTF_MSG_ITER_STATUS_ERROR: default: ret = LTTNG_LIVE_ITERATOR_STATUS_ERROR; BT_COMP_LOGE_APPEND_CAUSE(self_comp, @@ -839,21 +845,20 @@ enum lttng_live_iterator_status lttng_live_iterator_close_stream( bt_self_component *self_comp = lttng_live_msg_iter->self_comp; /* * The viewer has hung up on us so we are closing the stream. The - * `bt_msg_iter` should simply realize that it needs to close the + * `ctf_msg_iter` should simply realize that it needs to close the * stream properly by emitting the necessary stream end message. */ - enum bt_msg_iter_status status = bt_msg_iter_get_next_message( - stream_iter->msg_iter, lttng_live_msg_iter->self_msg_iter, - curr_msg); + enum ctf_msg_iter_status status = ctf_msg_iter_get_next_message( + stream_iter->msg_iter, curr_msg); - if (status == BT_MSG_ITER_STATUS_ERROR) { + if (status == CTF_MSG_ITER_STATUS_ERROR) { BT_COMP_LOGE_APPEND_CAUSE(self_comp, "Error getting the next message from CTF message iterator"); live_status = LTTNG_LIVE_ITERATOR_STATUS_ERROR; goto end; } - BT_ASSERT(status == BT_MSG_ITER_STATUS_OK); + BT_ASSERT(status == CTF_MSG_ITER_STATUS_OK); end: return live_status; @@ -1455,7 +1460,7 @@ end: put_messages(msgs, *count); break; default: - abort(); + bt_common_abort(); } no_session: @@ -1542,7 +1547,7 @@ bt_component_class_message_iterator_initialize_method_status lttng_live_msg_iter lttng_live->params.url->str); break; default: - abort(); + bt_common_abort(); } }