From eadc84cc01e04f9f74ec2de0c9355be035c7b396 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sat, 20 Jun 2009 02:01:40 +0200 Subject: [PATCH] perfcounter: Handle some IO return values MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Building perfcounter tools raises the following warnings: builtin-record.c: In function ‘atexit_header’: builtin-record.c:464: erreur: ignoring return value of ‘pwrite’, declared with attribute warn_unused_result builtin-record.c: In function ‘__cmd_record’: builtin-record.c:503: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result builtin-report.c: In function ‘__cmd_report’: builtin-report.c:1403: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result This patch handles these IO return values. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1245456100-5477-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar --- tools/perf/builtin-record.c | 9 +++++++-- tools/perf/builtin-report.c | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index e2cebc0..d7ebbd7 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -461,7 +461,8 @@ static void atexit_header(void) { file_header.data_size += bytes_written; - pwrite(output, &file_header, sizeof(file_header), 0); + if (pwrite(output, &file_header, sizeof(file_header), 0) == -1) + perror("failed to write on file headers"); } static int __cmd_record(int argc, const char **argv) @@ -500,7 +501,11 @@ static int __cmd_record(int argc, const char **argv) } if (!file_new) { - read(output, &file_header, sizeof(file_header)); + if (read(output, &file_header, sizeof(file_header)) == -1) { + perror("failed to read file headers"); + exit(-1); + } + lseek(output, file_header.data_size, SEEK_CUR); } diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index de1b978..5eb5566 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -1400,7 +1400,10 @@ static int __cmd_report(void) exit(0); } - read(input, &file_header, sizeof(file_header)); + if (read(input, &file_header, sizeof(file_header)) == -1) { + perror("failed to read file headers"); + exit(-1); + } if (sort__has_parent && !(file_header.sample_type & PERF_SAMPLE_CALLCHAIN)) { -- 2.7.4