diff options
Diffstat (limited to 'tools/perf/util/trace-event-read.c')
| -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 877706bd454..644ad3b4ede 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)  |