aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2009-07-01 15:02:10 -0400
committerIngo Molnar <mingo@elte.hu>2009-07-01 16:37:24 -0400
commita92bef0f216bbf3d05c0c0709ea02e267f2b920e (patch)
treee10737dada321c315588c1726f75ff2d87fecc39
parent0406ca6d8e849d9dd027c8cb6791448e81411aef (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>
-rw-r--r--tools/perf/builtin-stat.c6
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++)