diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2009-07-01 15:02:10 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-07-01 16:37:24 -0400 |
commit | a92bef0f216bbf3d05c0c0709ea02e267f2b920e (patch) | |
tree | e10737dada321c315588c1726f75ff2d87fecc39 /tools/perf | |
parent | 0406ca6d8e849d9dd027c8cb6791448e81411aef (diff) |
perf stat: Handle pipe read failures in perf stat
Building builtin-stat.c reports the following errors:
cc1: warnings being treated as errors
builtin-stat.c: In function ‘run_perf_stat’:
builtin-stat.c:242: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result
builtin-stat.c:255: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result
make: *** [builtin-stat.o] Erreur 1
This patch handles the possible pipe read failures.
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: Anton Blanchard <anton@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <1246474930-6088-2-git-send-email-fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/builtin-stat.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 01cc07efb728..27921a8ce1a9 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c | |||
@@ -239,7 +239,8 @@ static int run_perf_stat(int argc __used, const char **argv) | |||
239 | /* | 239 | /* |
240 | * Wait until the parent tells us to go. | 240 | * Wait until the parent tells us to go. |
241 | */ | 241 | */ |
242 | read(go_pipe[0], &buf, 1); | 242 | if (read(go_pipe[0], &buf, 1) == -1) |
243 | perror("unable to read pipe"); | ||
243 | 244 | ||
244 | execvp(argv[0], (char **)argv); | 245 | execvp(argv[0], (char **)argv); |
245 | 246 | ||
@@ -252,7 +253,8 @@ static int run_perf_stat(int argc __used, const char **argv) | |||
252 | */ | 253 | */ |
253 | close(child_ready_pipe[1]); | 254 | close(child_ready_pipe[1]); |
254 | close(go_pipe[0]); | 255 | close(go_pipe[0]); |
255 | read(child_ready_pipe[0], &buf, 1); | 256 | if (read(child_ready_pipe[0], &buf, 1) == -1) |
257 | perror("unable to read pipe"); | ||
256 | close(child_ready_pipe[0]); | 258 | close(child_ready_pipe[0]); |
257 | 259 | ||
258 | for (counter = 0; counter < nr_counters; counter++) | 260 | for (counter = 0; counter < nr_counters; counter++) |