diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-02-10 08:15:48 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-02-13 12:42:42 +0200 |
commit | abccaf9596461215fce0e32322133fb6c39be44f (patch) | |
tree | 3fc16a6e6142d65e6b47ae686ab845cc164478cc /build2/operation | |
parent | bcb2a89e111a918a48a132a2a29e0c26d724591d (diff) |
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.
Diffstat (limited to 'build2/operation')
-rw-r--r-- | build2/operation | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/build2/operation b/build2/operation index 700ee7e..544a9f9 100644 --- a/build2/operation +++ b/build2/operation @@ -185,6 +185,7 @@ namespace build2 // const string name_do; // E.g., [to] 'configure'. const string name_doing; // E.g., [while] 'configuring'. + const string name_did; // E.g., 'configured'. const string name_done; // E.g., 'is configured'. // If operation_pre() is not NULL, then it may translate default_id @@ -269,10 +270,16 @@ namespace build2 // const string name_do; // E.g., [to] 'update'. const string name_doing; // E.g., [while] 'updating'. + const string name_did; // E.g., [not] 'updated'. const string name_done; // E.g., 'is up to date'. const execution_mode mode; + // This is the operation's concurrency multiplier. 0 means run serially, + // 1 means run at hardware concurrency (unless overridden by the user). + // + const size_t concurrency; + // If the returned operation_id's are not 0, then they are injected // as pre/post operations for this operation. Can be NULL if unused. // The returned operation_id shall not be default_id. |