lib: add post condition assertions for current thread error after user functions
[babeltrace.git] / src / lib / trace-ir / trace.c
index 72493a48589441a641955a7d2da9d0011f86ba1e..3bf26b7bcdb8b009a32311ff9dd29e07a3c81582 100644 (file)
@@ -25,6 +25,7 @@
 #include "lib/logging.h"
 
 #include "lib/assert-pre.h"
+#include "lib/assert-post.h"
 #include <babeltrace2/trace-ir/trace.h>
 #include <babeltrace2/trace-ir/trace-const.h>
 #include <babeltrace2/trace-ir/event-class.h>
@@ -41,6 +42,7 @@
 #include <inttypes.h>
 #include <stdint.h>
 #include <string.h>
+#include <stdbool.h>
 #include <stdlib.h>
 
 #include "attributes.h"
@@ -102,13 +104,14 @@ void destroy_trace(struct bt_object *obj)
 
                        if (elem.func) {
                                elem.func(trace, elem.data);
+                               BT_ASSERT_POST_NO_ERROR();
                        }
 
                        /*
                         * The destruction listener should not have kept a
                         * reference to the trace.
                         */
-                       BT_ASSERT_PRE(trace->base.ref_count == 1, "Destruction listener kept a reference to the trace being destroyed: %![trace-]+t", trace);
+                       BT_ASSERT_POST(trace->base.ref_count == 1, "Destruction listener kept a reference to the trace being destroyed: %![trace-]+t", trace);
                }
                g_array_free(trace->destruction_listeners, TRUE);
                trace->destruction_listeners = NULL;
@@ -241,7 +244,6 @@ void bt_trace_set_uuid(struct bt_trace *trace, bt_uuid uuid)
        BT_LIB_LOGD("Set trace's UUID: %!+t", trace);
 }
 
-BT_ASSERT_FUNC
 static
 bool trace_has_environment_entry(const struct bt_trace *trace, const char *name)
 {
@@ -332,12 +334,8 @@ end:
 
 uint64_t bt_trace_get_environment_entry_count(const struct bt_trace *trace)
 {
-       int64_t ret;
-
        BT_ASSERT_PRE_DEV_NON_NULL(trace, "Trace");
-       ret = bt_attributes_get_count(trace->environment);
-       BT_ASSERT(ret >= 0);
-       return (uint64_t) ret;
+       return bt_attributes_get_count(trace->environment);
 }
 
 void bt_trace_borrow_environment_entry_by_index_const(
This page took 0.025249 seconds and 4 git commands to generate.