From abccaf9596461215fce0e32322133fb6c39be44f Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 10 Feb 2017 08:15:48 +0200 Subject: Implement parallel error propagation, keep_going mode Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features. --- build2/cc/compile.cxx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'build2/cc') diff --git a/build2/cc/compile.cxx b/build2/cc/compile.cxx index e08b40b..c8394a9 100644 --- a/build2/cc/compile.cxx +++ b/build2/cc/compile.cxx @@ -891,9 +891,7 @@ namespace build2 // auto update = [&trace, a] (path_target& pt, timestamp ts) -> bool { - //@@ MT extenal modification sync. - - target_state os (pt.atomic_state ()); //@@ MT: do we need atomic? + target_state os (pt.synchronized_state ()); //@@ MT? matched? if (os != target_state::unchanged) { @@ -902,7 +900,7 @@ namespace build2 // have been in target_state::changed because of a dependency // extraction run for some other source file. // - target_state ns (execute_direct (a, pt)); + target_state ns (execute_direct (a, pt)); //@@ MT extenal modification sync. if (ns != os && ns != target_state::unchanged) { -- cgit v1.1