#include "lib/assert-pre.h"
#include "lib/assert-post.h"
#include <babeltrace2/graph/self-component.h>
-#include <babeltrace2/graph/component-const.h>
-#include <babeltrace2/graph/component-source-const.h>
-#include <babeltrace2/graph/component-filter-const.h>
-#include <babeltrace2/graph/component-sink-const.h>
-#include <babeltrace2/graph/graph-const.h>
+#include <babeltrace2/graph/component.h>
+#include <babeltrace2/graph/graph.h>
#include "common/macros.h"
#include "compat/compiler.h"
#include <babeltrace2/types.h>
break;
}
default:
- abort();
+ bt_common_abort();
}
if (method) {
+ const struct bt_error *saved_error;
+
+ saved_error = bt_current_thread_take_error();
+
BT_LIB_LOGI("Calling user's component finalization method: "
"%![comp-]+c", comp);
method(comp);
+ BT_ASSERT_POST_NO_ERROR();
+
+ if (saved_error) {
+ BT_CURRENT_THREAD_MOVE_ERROR_AND_RESET(saved_error);
+ }
}
}
method = (method_t) src_cc->methods.output_port_connected;
break;
default:
- abort();
+ bt_common_abort();
}
break;
method = (method_t) flt_cc->methods.output_port_connected;
break;
default:
- abort();
+ bt_common_abort();
}
break;
method = (method_t) sink_cc->methods.input_port_connected;
break;
default:
- abort();
+ bt_common_abort();
}
break;
}
default:
- abort();
+ bt_common_abort();
}
if (method) {
status == BT_FUNC_STATUS_MEMORY_ERROR,
"Unexpected returned component status: status=%s",
bt_common_func_status_string(status));
+ BT_ASSERT_POST_NO_ERROR_IF_NO_ERROR_STATUS(status);
}
return status;