#include "lib/logging.h"
#include "common/assert.h"
-#include "lib/assert-cond.h"
#include "compat/compiler.h"
#include <babeltrace2/plugin/plugin-dev.h>
#include "lib/graph/component-class.h"
status = init_status;
goto end;
} else {
+ /*
+ * Since we don't return an error,
+ * there's no way to communicate this
+ * error to the caller.
+ */
+ bt_current_thread_clear_error();
BT_LIB_LOGW(
"User's plugin initialization function failed: "
"status=%s",
/* Add to plugin set */
bt_plugin_set_add_plugin(*plugin_set_out, plugin);
BT_OBJECT_PUT_REF_AND_RESET(plugin);
+ } else if (status == BT_FUNC_STATUS_NOT_FOUND) {
+ /*
+ * There was an error initializing the plugin,
+ * but `fail_on_load_error` is false.
+ */
+ BT_OBJECT_PUT_REF_AND_RESET(plugin);
} else if (status < 0) {
/*
* bt_plugin_so_init() handles