diff options
author | Namhyung Kim <namhyung.kim@lge.com> | 2013-03-21 16:18:51 +0900 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-03-21 13:37:13 -0300 |
commit | 452958fdd05b43b6c91cfd1341f4fac2f3ce661f (patch) | |
tree | 08f81195454f41f593ee9c88e73e8438f259af52 /tools/perf/util | |
parent | 4a31e56599d42c5ac17b280228349948dee352c7 (diff) | |
download | lwn-452958fdd05b43b6c91cfd1341f4fac2f3ce661f.tar.gz lwn-452958fdd05b43b6c91cfd1341f4fac2f3ce661f.zip |
perf tools: Get rid of die() calls in trace-data-read.c
Convert them to pr_debug() and propagate error code.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1363850332-25297-9-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util')
-rw-r--r-- | tools/perf/util/trace-event-read.c | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-event-read.c index 877706bd454f..644ad3b4edec 100644 --- a/tools/perf/util/trace-event-read.c +++ b/tools/perf/util/trace-event-read.c @@ -130,17 +130,23 @@ static char *read_string(void) for (;;) { r = read(input_fd, &c, 1); - if (r < 0) - die("reading input file"); + if (r < 0) { + pr_debug("reading input file"); + goto out; + } - if (!r) - die("no data"); + if (!r) { + pr_debug("no data"); + goto out; + } if (repipe) { int retw = write(STDOUT_FILENO, &c, 1); - if (retw <= 0 || retw != r) - die("repiping input file string"); + if (retw <= 0 || retw != r) { + pr_debug("repiping input file string"); + goto out; + } } buf[size++] = c; @@ -155,7 +161,7 @@ static char *read_string(void) str = malloc(size); if (str) memcpy(str, buf, size); - +out: return str; } @@ -219,8 +225,10 @@ static int read_header_files(struct pevent *pevent) if (do_read(buf, 12) < 0) return -1; - if (memcmp(buf, "header_page", 12) != 0) - die("did not read header page"); + if (memcmp(buf, "header_page", 12) != 0) { + pr_debug("did not read header page"); + return -1; + } size = read8(pevent); skip(size); @@ -234,8 +242,10 @@ static int read_header_files(struct pevent *pevent) if (do_read(buf, 13) < 0) return -1; - if (memcmp(buf, "header_event", 13) != 0) - die("did not read header event"); + if (memcmp(buf, "header_event", 13) != 0) { + pr_debug("did not read header event"); + return -1; + } size = read8(pevent); header_event = malloc(size); @@ -353,13 +363,17 @@ ssize_t trace_report(int fd, struct pevent **ppevent, bool __repipe) if (do_read(buf, 3) < 0) return -1; - if (memcmp(buf, test, 3) != 0) - die("no trace data in the file"); + if (memcmp(buf, test, 3) != 0) { + pr_debug("no trace data in the file"); + return -1; + } if (do_read(buf, 7) < 0) return -1; - if (memcmp(buf, "tracing", 7) != 0) - die("not a trace file (missing 'tracing' tag)"); + if (memcmp(buf, "tracing", 7) != 0) { + pr_debug("not a trace file (missing 'tracing' tag)"); + return -1; + } version = read_string(); if (version == NULL) |