[tip:perf/core] perf scripting: Don't die if scripting can't be setup, disable it
Commit-ID: 9a8860bbaa936407aa95d7d3ef836036a117b207 Gitweb: http://git.kernel.org/tip/9a8860bbaa936407aa95d7d3ef836036a117b207 Author: Arnaldo Carvalho de MeloAuthorDate: Tue, 25 Oct 2016 17:30:05 -0300 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 28 Oct 2016 11:29:44 -0200 perf scripting: Don't die if scripting can't be setup, disable it Removing one more set of die() calls. Cc: Adrian Hunter Cc: David Ahern Cc: Jiri Olsa Cc: Namhyung Kim Cc: Wang Nan Link: http://lkml.kernel.org/n/tip-6pyil685m5i2tugg56gcy...@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/trace-event-scripting.c | 33 +++-- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/tools/perf/util/trace-event-scripting.c b/tools/perf/util/trace-event-scripting.c index a2fd6e7..0ac9077 100644 --- a/tools/perf/util/trace-event-scripting.c +++ b/tools/perf/util/trace-event-scripting.c @@ -25,6 +25,7 @@ #include #include "../perf.h" +#include "debug.h" #include "util.h" #include "trace-event.h" @@ -86,17 +87,15 @@ struct scripting_ops python_scripting_unsupported_ops = { static void register_python_scripting(struct scripting_ops *scripting_ops) { - int err; - err = script_spec_register("Python", scripting_ops); - if (err) - die("error registering Python script extension"); - - err = script_spec_register("py", scripting_ops); - if (err) - die("error registering py script extension"); - if (scripting_context == NULL) scripting_context = malloc(sizeof(*scripting_context)); + + if (scripting_context == NULL || + script_spec_register("Python", scripting_ops) || + script_spec_register("py", scripting_ops)) { + pr_err("Error registering Python script extension: disabling it\n"); + zfree(_context); + } } #ifdef NO_LIBPYTHON @@ -151,17 +150,15 @@ struct scripting_ops perl_scripting_unsupported_ops = { static void register_perl_scripting(struct scripting_ops *scripting_ops) { - int err; - err = script_spec_register("Perl", scripting_ops); - if (err) - die("error registering Perl script extension"); - - err = script_spec_register("pl", scripting_ops); - if (err) - die("error registering pl script extension"); - if (scripting_context == NULL) scripting_context = malloc(sizeof(*scripting_context)); + + if (scripting_context == NULL || + script_spec_register("Perl", scripting_ops) || + script_spec_register("pl", scripting_ops)) { + pr_err("Error registering Perl script extension: disabling it\n"); + zfree(_context); + } } #ifdef NO_LIBPERL
[tip:perf/core] perf scripting: Don't die if scripting can't be setup, disable it
Commit-ID: 9a8860bbaa936407aa95d7d3ef836036a117b207 Gitweb: http://git.kernel.org/tip/9a8860bbaa936407aa95d7d3ef836036a117b207 Author: Arnaldo Carvalho de Melo AuthorDate: Tue, 25 Oct 2016 17:30:05 -0300 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 28 Oct 2016 11:29:44 -0200 perf scripting: Don't die if scripting can't be setup, disable it Removing one more set of die() calls. Cc: Adrian Hunter Cc: David Ahern Cc: Jiri Olsa Cc: Namhyung Kim Cc: Wang Nan Link: http://lkml.kernel.org/n/tip-6pyil685m5i2tugg56gcy...@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/trace-event-scripting.c | 33 +++-- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/tools/perf/util/trace-event-scripting.c b/tools/perf/util/trace-event-scripting.c index a2fd6e7..0ac9077 100644 --- a/tools/perf/util/trace-event-scripting.c +++ b/tools/perf/util/trace-event-scripting.c @@ -25,6 +25,7 @@ #include #include "../perf.h" +#include "debug.h" #include "util.h" #include "trace-event.h" @@ -86,17 +87,15 @@ struct scripting_ops python_scripting_unsupported_ops = { static void register_python_scripting(struct scripting_ops *scripting_ops) { - int err; - err = script_spec_register("Python", scripting_ops); - if (err) - die("error registering Python script extension"); - - err = script_spec_register("py", scripting_ops); - if (err) - die("error registering py script extension"); - if (scripting_context == NULL) scripting_context = malloc(sizeof(*scripting_context)); + + if (scripting_context == NULL || + script_spec_register("Python", scripting_ops) || + script_spec_register("py", scripting_ops)) { + pr_err("Error registering Python script extension: disabling it\n"); + zfree(_context); + } } #ifdef NO_LIBPYTHON @@ -151,17 +150,15 @@ struct scripting_ops perl_scripting_unsupported_ops = { static void register_perl_scripting(struct scripting_ops *scripting_ops) { - int err; - err = script_spec_register("Perl", scripting_ops); - if (err) - die("error registering Perl script extension"); - - err = script_spec_register("pl", scripting_ops); - if (err) - die("error registering pl script extension"); - if (scripting_context == NULL) scripting_context = malloc(sizeof(*scripting_context)); + + if (scripting_context == NULL || + script_spec_register("Perl", scripting_ops) || + script_spec_register("pl", scripting_ops)) { + pr_err("Error registering Perl script extension: disabling it\n"); + zfree(_context); + } } #ifdef NO_LIBPERL