aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/algorithm.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-10-04 12:43:06 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-10-04 12:43:06 +0200
commit0a1f06d11edb1d48fd8c848348031bf08652a580 (patch)
tree2ba76039f01c89161629867355deaa8780cebd8f /libbuild2/algorithm.hxx
parentcbf3f2d5b3787c8281f3227b65ec30170fcd3379 (diff)
Add match_direct_complete() to support async direct matches
Diffstat (limited to 'libbuild2/algorithm.hxx')
-rw-r--r--libbuild2/algorithm.hxx17
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.
//