diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-03-01 16:03:31 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-03-01 16:03:31 +0200 |
commit | 2485425dfcd85344dd0293c0b446c9bb0e28bf17 (patch) | |
tree | a4c85231172be7ea666901eb11645b4ab823eb04 /libbuild2/context.hxx | |
parent | e05ee01b6da2167aef99ee62e813a172c1d01e18 (diff) |
Add support for installation manifest
Diffstat (limited to 'libbuild2/context.hxx')
-rw-r--r-- | libbuild2/context.hxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libbuild2/context.hxx b/libbuild2/context.hxx index bb8f31f..c040927 100644 --- a/libbuild2/context.hxx +++ b/libbuild2/context.hxx @@ -339,6 +339,22 @@ namespace build2 (current_mname.empty () && current_oname == mo)); }; + // Meta/operation-specific context-global auxiliary data storage. + // + // Note: cleared by current_[meta_]operation() below. Normally set by + // meta/operation-specific callbacks from [mate_]operation_info. + // + // Note also: watch out for MT-safety in the data itself. + // + static void + null_current_data_deleter (void* p) { assert (p == nullptr); } + + using current_data_ptr = unique_ptr<void, void (*) (void*)>; + + current_data_ptr current_mdata = {nullptr, null_current_data_deleter}; + current_data_ptr current_inner_odata = {nullptr, null_current_data_deleter}; + current_data_ptr current_outer_odata = {nullptr, null_current_data_deleter}; + // Current operation number (1-based) in the meta-operation batch. // size_t current_on; |