BT_LOGE("Cannot close GModule: %s: path=\"%s\"",
g_module_error(), path);
}
+
+ shared_lib_handle->module = NULL;
#ifndef NDEBUG
} else {
BT_LOGD("Not closing GModule because `BABELTRACE_NO_DLCLOSE=1`: "
if (shared_lib_handle->path) {
g_string_free(shared_lib_handle->path, TRUE);
+ shared_lib_handle->path = NULL;
}
g_free(shared_lib_handle);
src_comp_class = bt_private_component_class_source_create(
cc_full_descr->descriptor->name,
cc_full_descr->descriptor->methods.source.notif_iter_next);
- comp_class = bt_private_component_class_source_borrow_private_component_class(
+ comp_class = bt_private_component_class_source_as_private_component_class(
src_comp_class);
break;
case BT_COMPONENT_CLASS_TYPE_FILTER:
flt_comp_class = bt_private_component_class_filter_create(
cc_full_descr->descriptor->name,
cc_full_descr->descriptor->methods.source.notif_iter_next);
- comp_class = bt_private_component_class_filter_borrow_private_component_class(
+ comp_class = bt_private_component_class_filter_as_private_component_class(
flt_comp_class);
break;
case BT_COMPONENT_CLASS_TYPE_SINK:
sink_comp_class = bt_private_component_class_sink_create(
cc_full_descr->descriptor->name,
cc_full_descr->descriptor->methods.sink.consume);
- comp_class = bt_private_component_class_sink_borrow_private_component_class(
+ comp_class = bt_private_component_class_sink_as_private_component_class(
sink_comp_class);
break;
default:
}
spec = plugin->spec_data;
- spec->shared_lib_handle = bt_object_get_ref(shared_lib_handle);
+ spec->shared_lib_handle = shared_lib_handle;
+ bt_object_get_no_null_check(spec->shared_lib_handle);
goto end;
error:
BT_ASSERT(plugin->type == BT_PLUGIN_TYPE_SO);
bt_list_add(&comp_class->node, &component_class_list);
- comp_class->so_handle = bt_object_get_ref(spec->shared_lib_handle);
+ comp_class->so_handle = spec->shared_lib_handle;
+ bt_object_get_no_null_check(comp_class->so_handle);
/* Add our custom destroy listener */
bt_component_class_add_destroy_listener(comp_class,