]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
perfcounter: Handle some IO return values
authorFrederic Weisbecker <fweisbec@gmail.com>
Sat, 20 Jun 2009 00:01:40 +0000 (02:01 +0200)
committerIngo Molnar <mingo@elte.hu>
Sat, 20 Jun 2009 10:30:33 +0000 (12:30 +0200)
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 <fweisbec@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <1245456100-5477-1-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/builtin-record.c
tools/perf/builtin-report.c

index e2cebc053bd77f6da5e79aa0ea62b9a56cd9fc35..d7ebbd7575432f12c53109dc8c51054dd4a25f76 100644 (file)
@@ -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);
        }
 
index de1b97845e9e8292491b821d1747dd6ef53a3de0..5eb5566f0c95426dd3f5c4c3cf196faf55080fbd 100644 (file)
@@ -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)) {