X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Flib%2Ftrace-ir%2Fclock-snapshot.c;h=19aab80aabdfc34f0e6a18515c9f394a32a31a84;hb=17f3083a0b4d318d3303c8a5bfa63db6a874ec73;hp=e418fff61facd7a44ca5653471ce4909e6ef8a2f;hpb=bc3d96925b78b7e6e07954f8ff19ce4ba1a2f5a8;p=babeltrace.git diff --git a/src/lib/trace-ir/clock-snapshot.c b/src/lib/trace-ir/clock-snapshot.c index e418fff6..19aab80a 100644 --- a/src/lib/trace-ir/clock-snapshot.c +++ b/src/lib/trace-ir/clock-snapshot.c @@ -63,7 +63,7 @@ struct bt_clock_snapshot *bt_clock_snapshot_new( bt_object_init_unique(&ret->base); ret->clock_class = clock_class; - bt_object_get_no_null_check(clock_class); + bt_object_get_ref_no_null_check(clock_class); bt_clock_class_freeze(clock_class); BT_LIB_LOGD("Created clock snapshot object: %!+k", ret); @@ -77,26 +77,18 @@ struct bt_clock_snapshot *bt_clock_snapshot_create( { struct bt_clock_snapshot *clock_snapshot = NULL; - BT_ASSERT(clock_class); + BT_ASSERT_DBG(clock_class); clock_snapshot = bt_object_pool_create_object(&clock_class->cs_pool); if (!clock_snapshot) { BT_LIB_LOGE_APPEND_CAUSE( "Cannot allocate one clock snapshot from clock class's clock snapshot pool: " "%![cc-]+K", clock_class); - goto error; + goto end; } if (G_LIKELY(!clock_snapshot->clock_class)) { clock_snapshot->clock_class = clock_class; - bt_object_get_no_null_check(clock_class); - } - - goto end; - -error: - if (clock_snapshot) { - bt_clock_snapshot_recycle(clock_snapshot); - clock_snapshot = NULL; + bt_object_get_ref_no_null_check(clock_class); } end: @@ -108,7 +100,7 @@ void bt_clock_snapshot_recycle(struct bt_clock_snapshot *clock_snapshot) { struct bt_clock_class *clock_class; - BT_ASSERT(clock_snapshot); + BT_ASSERT_DBG(clock_snapshot); BT_LIB_LOGD("Recycling clock snapshot: %!+k", clock_snapshot); /* @@ -135,7 +127,7 @@ void bt_clock_snapshot_recycle(struct bt_clock_snapshot *clock_snapshot) */ bt_clock_snapshot_reset(clock_snapshot); clock_class = clock_snapshot->clock_class; - BT_ASSERT(clock_class); + BT_ASSERT_DBG(clock_class); clock_snapshot->clock_class = NULL; bt_object_pool_recycle_object(&clock_class->cs_pool, clock_snapshot); bt_object_put_ref(clock_class); @@ -157,6 +149,7 @@ bt_clock_snapshot_get_ns_from_origin( { int ret = BT_FUNC_STATUS_OK; + BT_ASSERT_PRE_DEV_NO_ERROR(); BT_ASSERT_PRE_DEV_NON_NULL(clock_snapshot, "Clock snapshot"); BT_ASSERT_PRE_DEV_NON_NULL(ret_value_ns, "Value (ns) (output)"); BT_ASSERT_PRE_DEV(clock_snapshot->is_set, @@ -167,7 +160,7 @@ bt_clock_snapshot_get_ns_from_origin( "Clock snapshot, once converted to nanoseconds from origin, " "overflows the signed 64-bit integer range: " "%![cs-]+k", clock_snapshot); - ret = BT_FUNC_STATUS_OVERFLOW; + ret = BT_FUNC_STATUS_OVERFLOW_ERROR; goto end; }