Factor out body of event handling loop for fork case reusing
process_timeout() and process_interval() functions.

Signed-off-by: Alexey Budankov <alexey.budan...@linux.intel.com>
---
 tools/perf/builtin-stat.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 9c090eaae1e1..edd6fdcd1c72 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -745,13 +745,9 @@ static int __run_perf_stat(int argc, const char **argv, 
int run_idx)
                enable_counters();
 
                if (interval || timeout) {
-                       while (!waitpid(child_pid, &status, WNOHANG)) {
+                       while (!stop && !waitpid(child_pid, &status, WNOHANG)) {
                                nanosleep(&ts, NULL);
-                               if (timeout)
-                                       break;
-                               process_interval();
-                               if (interval_count && !(--times))
-                                       break;
+                               stop = process_timeout(timeout, interval, 
&times);
                        }
                }
                if (child_pid != -1) {
-- 
2.24.1

Reply via email to