diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-05-25 09:14:48 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-05-25 09:14:48 +0200 |
commit | 5e2c26176cf48b65103251186a2bf321eda069a9 (patch) | |
tree | 00df9d4949fb8cebeee5d946629f5975ed867ddc /build2/target.ixx | |
parent | 20188eaf69ff0fe3ee496c00f9e988f842d0be67 (diff) |
Fix postponed group/member state race
Diffstat (limited to 'build2/target.ixx')
-rw-r--r-- | build2/target.ixx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/build2/target.ixx b/build2/target.ixx index ea91b6e..88bc530 100644 --- a/build2/target.ixx +++ b/build2/target.ixx @@ -94,14 +94,14 @@ namespace build2 { // We go an extra step and short-circuit to the target state even if the // raw state is not group provided the recipe is group_recipe and the - // state is not failed. + // state is unknown (see mtime() for some ideas on why we do it). // const opstate& s (state[a]); if (s.state == target_state::group) return true; - if (s.state != target_state::failed && group != nullptr) + if (s.state == target_state::unknown && group != nullptr) { if (recipe_function* const* f = s.recipe.target<recipe_function*> ()) return *f == &group_action; |