X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Flib%2Fgraph%2Fmessage%2Fpacket.c;h=061254173cae2ea9503143b2ff1ef4ab51b7d20c;hb=c4f23e30bf67d2523163614bc9461d84cbe1ae80;hp=6bce712996b1f27910ca779e0d4800a6505bf56c;hpb=578e048b5debf169e286e5b5cc747b5d6c16886d;p=babeltrace.git diff --git a/src/lib/graph/message/packet.c b/src/lib/graph/message/packet.c index 6bce7129..06125417 100644 --- a/src/lib/graph/message/packet.c +++ b/src/lib/graph/message/packet.c @@ -21,9 +21,13 @@ * SOFTWARE. */ -#define BT_LOG_TAG "MSG-PACKET" -#include "lib/lib-logging.h" +#define BT_LOG_TAG "LIB/MSG-PACKET" +#include "lib/logging.h" +#include + +#include "lib/assert-pre.h" +#include "lib/assert-post.h" #include "compat/compiler.h" #include #include "lib/trace-ir/packet.h" @@ -37,7 +41,6 @@ #include #include #include "common/assert.h" -#include "lib/assert-pre.h" #include "lib/object.h" #include @@ -51,7 +54,8 @@ struct bt_message *new_packet_message(struct bt_graph *graph, message = g_new0(struct bt_message_packet, 1); if (!message) { - BT_LOGE_STR("Failed to allocate one packet message."); + BT_LIB_LOGE_APPEND_CAUSE( + "Failed to allocate one packet message."); goto error; } @@ -97,6 +101,12 @@ struct bt_message *create_packet_message( stream_class = bt_stream_borrow_class(stream); BT_ASSERT(stream_class); + /* + * It's not possible to create a packet from a stream of which + * the class indicates that packets are not supported. + */ + BT_ASSERT(stream_class->supports_packets); + if (pool == &msg_iter->graph->packet_begin_msg_pool) { need_cs = stream_class->packets_have_beginning_default_clock_snapshot; } else { @@ -135,7 +145,7 @@ struct bt_message *create_packet_message( message->default_cs = bt_clock_snapshot_create( stream_class->default_clock_class); if (!message->default_cs) { - bt_object_put_no_null_check(message); + bt_object_put_ref_no_null_check(message); message = NULL; goto end; } @@ -145,7 +155,7 @@ struct bt_message *create_packet_message( BT_ASSERT(!message->packet); message->packet = packet; - bt_object_get_no_null_check_no_parent_check( + bt_object_get_ref_no_null_check_no_parent_check( &message->packet->base); bt_packet_set_is_frozen(packet, true); BT_LIB_LOGD("Created packet message object: " @@ -229,7 +239,7 @@ void recycle_packet_message(struct bt_message *msg, struct bt_object_pool *pool) BT_LIB_LOGD("Recycling packet message: %!+n", msg); bt_message_reset(msg); - bt_object_put_no_null_check(&packet_msg->packet->base); + bt_object_put_ref_no_null_check(&packet_msg->packet->base); if (packet_msg->default_cs) { bt_clock_snapshot_recycle(packet_msg->default_cs); @@ -246,7 +256,7 @@ void bt_message_packet_beginning_recycle(struct bt_message *msg) { BT_ASSERT(msg); - if (unlikely(!msg->graph)) { + if (G_UNLIKELY(!msg->graph)) { bt_message_packet_destroy(msg); return; } @@ -259,7 +269,7 @@ void bt_message_packet_end_recycle(struct bt_message *msg) { BT_ASSERT(msg); - if (unlikely(!msg->graph)) { + if (G_UNLIKELY(!msg->graph)) { bt_message_packet_destroy(msg); return; } @@ -272,8 +282,8 @@ struct bt_packet *bt_message_packet_beginning_borrow_packet( { struct bt_message_packet *packet_msg = (void *) message; - BT_ASSERT_PRE_NON_NULL(message, "Message"); - BT_ASSERT_PRE_MSG_IS_TYPE(message, + BT_ASSERT_PRE_DEV_NON_NULL(message, "Message"); + BT_ASSERT_PRE_DEV_MSG_IS_TYPE(message, BT_MESSAGE_TYPE_PACKET_BEGINNING); return packet_msg->packet; } @@ -290,8 +300,8 @@ struct bt_packet *bt_message_packet_end_borrow_packet( { struct bt_message_packet *packet_msg = (void *) message; - BT_ASSERT_PRE_NON_NULL(message, "Message"); - BT_ASSERT_PRE_MSG_IS_TYPE(message, + BT_ASSERT_PRE_DEV_NON_NULL(message, "Message"); + BT_ASSERT_PRE_DEV_MSG_IS_TYPE(message, BT_MESSAGE_TYPE_PACKET_END); return packet_msg->packet; } @@ -310,8 +320,9 @@ borrow_packet_message_default_clock_snapshot_const( { struct bt_message_packet *packet_msg = (void *) message; - BT_ASSERT(message); - BT_ASSERT_PRE(packet_msg->packet->stream->class->default_clock_class, + BT_ASSERT_DBG(message); + BT_ASSERT_PRE_DEV( + packet_msg->packet->stream->class->default_clock_class, "Message's stream's class has no default clock class: " "%![msg-]+n, %![sc-]+S", message, packet_msg->packet->stream->class); @@ -322,8 +333,8 @@ const struct bt_clock_snapshot * bt_message_packet_beginning_borrow_default_clock_snapshot_const( const struct bt_message *msg) { - BT_ASSERT_PRE_NON_NULL(msg, "Message"); - BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_BEGINNING); + BT_ASSERT_PRE_DEV_NON_NULL(msg, "Message"); + BT_ASSERT_PRE_DEV_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_BEGINNING); return borrow_packet_message_default_clock_snapshot_const(msg); } @@ -331,8 +342,8 @@ const struct bt_clock_snapshot * bt_message_packet_end_borrow_default_clock_snapshot_const( const struct bt_message *msg) { - BT_ASSERT_PRE_NON_NULL(msg, "Message"); - BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_END); + BT_ASSERT_PRE_DEV_NON_NULL(msg, "Message"); + BT_ASSERT_PRE_DEV_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_END); return borrow_packet_message_default_clock_snapshot_const(msg); } @@ -343,7 +354,7 @@ borrow_packet_message_stream_class_default_clock_class( { struct bt_message_packet *packet_msg = (void *) msg; - BT_ASSERT(msg); + BT_ASSERT_DBG(msg); return packet_msg->packet->stream->class->default_clock_class; } @@ -351,8 +362,8 @@ const struct bt_clock_class * bt_message_packet_beginning_borrow_stream_class_default_clock_class_const( const struct bt_message *msg) { - BT_ASSERT_PRE_NON_NULL(msg, "Message"); - BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_BEGINNING); + BT_ASSERT_PRE_DEV_NON_NULL(msg, "Message"); + BT_ASSERT_PRE_DEV_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_BEGINNING); return borrow_packet_message_stream_class_default_clock_class(msg); } @@ -360,7 +371,7 @@ const struct bt_clock_class * bt_message_packet_end_borrow_stream_class_default_clock_class_const( const struct bt_message *msg) { - BT_ASSERT_PRE_NON_NULL(msg, "Message"); - BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_END); + BT_ASSERT_PRE_DEV_NON_NULL(msg, "Message"); + BT_ASSERT_PRE_DEV_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_PACKET_END); return borrow_packet_message_stream_class_default_clock_class(msg); }