From 5cefca444f7062c61cc9d118ffea5901e05186fd Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 8 Feb 2017 07:42:41 +0200 Subject: Implement parallel operation execution --- build2/test/rule.cxx | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'build2/test/rule.cxx') diff --git a/build2/test/rule.cxx b/build2/test/rule.cxx index 35302e19..9dc24cd5 100644 --- a/build2/test/rule.cxx +++ b/build2/test/rule.cxx @@ -291,7 +291,7 @@ namespace build2 { build2::match (ml, a, *it); - if (it->state () == target_state::unchanged) + if (it->synchronized_state () == target_state::unchanged) //@@ TM? { unmatch (a, *it); it = nullptr; @@ -304,7 +304,7 @@ namespace build2 { build2::match (ml, a, *ot); - if (ot->state () == target_state::unchanged) + if (ot->synchronized_state () == target_state::unchanged) //@@ MT? { unmatch (a, *ot); ot = nullptr; @@ -337,13 +337,8 @@ namespace build2 // target_state r (execute_delegate (dr, a, t)); - if (it != nullptr) - r |= execute (a, *it); - - if (ot != nullptr) - r |= execute (a, *ot); - - return r; + const target* ts[] = {it, ot}; + return r |= straight_execute_members (a, t, ts); }; } else -- cgit