Commit-ID:  9a8860bbaa936407aa95d7d3ef836036a117b207
Gitweb:     http://git.kernel.org/tip/9a8860bbaa936407aa95d7d3ef836036a117b207
Author:     Arnaldo Carvalho de Melo <a...@redhat.com>
AuthorDate: Tue, 25 Oct 2016 17:30:05 -0300
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
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 <adrian.hun...@intel.com>
Cc: David Ahern <dsah...@gmail.com>
Cc: Jiri Olsa <jo...@kernel.org>
Cc: Namhyung Kim <namhy...@kernel.org>
Cc: Wang Nan <wangn...@huawei.com>
Link: http://lkml.kernel.org/n/tip-6pyil685m5i2tugg56gcy...@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 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 <errno.h>
 
 #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(&scripting_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(&scripting_context);
+       }
 }
 
 #ifdef NO_LIBPERL

Reply via email to