cli: return if bt_plugin_find_all_from_dir fails in load_dynamic_plugins
authorSimon Marchi <simon.marchi@efficios.com>
Wed, 14 Aug 2019 17:49:51 +0000 (13:49 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Sat, 17 Aug 2019 00:12:13 +0000 (20:12 -0400)
If the call to bt_plugin_find_all_from_dir in load_dynamic_plugins
returns an error (a negative status code), we currently continue
execution as if nothing happened.

This patch makes it so that we exit the loop and report the error to the
caller.

Change-Id: Ib22813b92fe06156cde1681c55651a294cd67909
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1934
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
src/cli/babeltrace2-plugins.c

index 1defc30668dea965404ff83709621a3e92f9a4c6..28ee50a51b10d30258bc7f53e35f950bc464f39f 100644 (file)
@@ -163,9 +163,11 @@ int load_dynamic_plugins(const bt_value *plugin_paths)
                status = bt_plugin_find_all_from_dir(plugin_path, BT_FALSE,
                        BT_FALSE, &plugin_set);
                if (status < 0) {
-                       BT_LOGE("Unable to load dynamic plugins from directory: "
+                       BT_CLI_LOGE_APPEND_CAUSE(
+                               "Unable to load dynamic plugins from directory: "
                                "path=\"%s\"", plugin_path);
-                       continue;
+                       ret = status;
+                       goto end;
                } else if (status ==
                                BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_NOT_FOUND) {
                        BT_LOGI("No plugins found in directory: path=\"%s\"",
This page took 0.02563 seconds and 4 git commands to generate.