From 2fce635ee7d436f3086252ad392dc586201f7d8a Mon Sep 17 00:00:00 2001 From: Hitoshi Mitake Date: Mon, 9 Nov 2009 12:31:05 +0900 Subject: [PATCH] --- yaml --- r: 169611 b: refs/heads/master c: 5ff0cfc67f00fe0feaa1da0b2359232ea4aa0ee7 h: refs/heads/master i: 169609: 5dbcc1dcc7f422e8a372adbfd6c2c090d7da5686 169607: 0b1e7d7b0251b3ba67bb77830dfb578f9b05ea22 v: v3 --- [refs] | 2 +- trunk/tools/perf/bench/sched-pipe.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9c7592423338..c385e180f789 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bfde82ef51e3ea6ab8634d0fdbf5adcdd1b429cb +refs/heads/master: 5ff0cfc67f00fe0feaa1da0b2359232ea4aa0ee7 diff --git a/trunk/tools/perf/bench/sched-pipe.c b/trunk/tools/perf/bench/sched-pipe.c index 3214ed20b1aa..6a29100e9282 100644 --- a/trunk/tools/perf/bench/sched-pipe.c +++ b/trunk/tools/perf/bench/sched-pipe.c @@ -26,6 +26,7 @@ #include #include #include +#include #define LOOPS_DEFAULT 1000000 static int loops = LOOPS_DEFAULT; @@ -58,8 +59,8 @@ int bench_sched_pipe(int argc, const char **argv, * discarding returned value of read(), write() * causes error in building environment for perf */ - int ret; - pid_t pid; + int ret, wait_stat; + pid_t pid, retpid; argc = parse_options(argc, argv, options, bench_sched_pipe_usage, 0); @@ -87,8 +88,11 @@ int bench_sched_pipe(int argc, const char **argv, gettimeofday(&stop, NULL); timersub(&stop, &start, &diff); - if (pid) + if (pid) { + retpid = waitpid(pid, &wait_stat, 0); + assert((retpid == pid) && WIFEXITED(wait_stat)); return 0; + } if (simple) printf("%lu.%03lu\n",