diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-10-04 12:43:06 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-10-04 12:43:06 +0200 |
commit | 0a1f06d11edb1d48fd8c848348031bf08652a580 (patch) | |
tree | 2ba76039f01c89161629867355deaa8780cebd8f /libbuild2/algorithm.hxx | |
parent | cbf3f2d5b3787c8281f3227b65ec30170fcd3379 (diff) |
Add match_direct_complete() to support async direct matches
Diffstat (limited to 'libbuild2/algorithm.hxx')
-rw-r--r-- | libbuild2/algorithm.hxx | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libbuild2/algorithm.hxx b/libbuild2/algorithm.hxx index 7cc42c2..dedfe33 100644 --- a/libbuild2/algorithm.hxx +++ b/libbuild2/algorithm.hxx @@ -383,12 +383,6 @@ namespace build2 LIBBUILD2_SYMEXPORT void match_only_sync (action, const target&); - // As above but without incrementing the target's dependents count. Should - // be executed with execute_direct_*(). - // - target_state - match_direct_sync (action, const target&, bool fail = true); - // Start asynchronous match. Return target_state::postponed if the // asynchronous operation has been started and target_state::busy if the // target has already been busy. Regardless of the result, match_complete() @@ -410,6 +404,17 @@ namespace build2 pair<bool, target_state> match_complete (action, const target&, unmatch); + // As above but without incrementing the target's dependents count. Should + // be executed with execute_direct_*(). + // + // For async, call match_async() followed by match_direct_complete(). + // + target_state + match_direct_sync (action, const target&, bool fail = true); + + target_state + match_direct_complete (action, const target&, bool fail = true); + // Apply the specified recipe directly and without incrementing the // dependency counts. The target must be locked. // |