Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1510657

[PATCH 14/15] perf scripting: Don't die if scripting can't be setup, disable it

From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 14/15] perf scripting: Don't die if scripting can't be setup, disable it
Date 2016-10-27 22:50 +0200
Message-ID <swZMC-6Nm-61@gated-at.bofh.it> (permalink)
References <swZMB-6Nm-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Arnaldo Carvalho de Melo <acme@redhat.com>

Removing one more set of die() calls.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-6pyil685m5i2tugg56gcy0tg@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@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 a2fd6e79d5a5..0ac9077f62a2 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
-- 
2.7.4

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[GIT PULL 00/15] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 02/15] perf bench futex: Sanitize numeric parameters Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 04/15] tools lib subcmd: Suppport cascading options Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 09/15] perf list: Support matching by topic Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 08/15] perf tools: Introduce timestamp_in_usec() Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
    Re: [PATCH 08/15] perf tools: Introduce timestamp_in_usec() Joonwoo Park <joonwoop@codeaurora.org> - 2016-10-28 01:20 +0200
      Re: [PATCH 08/15] perf tools: Introduce timestamp_in_usec() Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-28 15:00 +0200
        Re: [PATCH 08/15] perf tools: Introduce timestamp_in_usec() Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-28 15:40 +0200
          [GIT PULL] Re: [PATCH 08/15] perf tools: Introduce  timestamp_in_usec() Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-28 16:50 +0200
            Re: [GIT PULL] Re: [PATCH 08/15] perf tools: Introduce  timestamp_in_usec() Ingo Molnar <mingo@kernel.org> - 2016-10-28 19:50 +0200
              Re: [GIT PULL] Re: [PATCH 08/15] perf tools: Introduce  timestamp_in_usec() Joonwoo Park <joonwoop@codeaurora.org> - 2016-10-28 19:50 +0200
  [PATCH 13/15] perf scripting: Avoid leaking the scripting_context variable Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 14/15] perf scripting: Don't die if scripting can't be setup, disable it Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 07/15] perf sched map: Always show task comm with -v Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 10/15] perf bench mem: Ignore export.h related changes to mem{cpy,set}.S Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 11/15] tools: Update asm-generic/mman-common.h copy from the kernel Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200
  [PATCH 01/15] perf bench futex: Avoid worker cacheline bouncing Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-27 22:50 +0200

csiph-web