diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-10-25 10:05:35 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-10-25 10:05:35 +0200 |
commit | 80ed767a1e3482c26bc6f5da8c8e87db6e54669d (patch) | |
tree | dae2c762b611b98db10f50b086f22784614e10b8 /libbuild2/context.hxx | |
parent | 73fd1a275b7ed039ef3ca18a3706692e9e95177a (diff) |
Expand context comment
Diffstat (limited to 'libbuild2/context.hxx')
-rw-r--r-- | libbuild2/context.hxx | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/libbuild2/context.hxx b/libbuild2/context.hxx index e720321..7d5d7a2 100644 --- a/libbuild2/context.hxx +++ b/libbuild2/context.hxx @@ -118,9 +118,12 @@ namespace build2 variable_cache (new shared_mutex[variable_cache_size]) {} }; - // @@ CTX: document (backlinks, non-overlap etc). RW story. + // A build context encapsulates the state of a build. It is possible to have + // multiple build contexts provided they are non-overlapping, that is, they + // don't try to build the same projects (note that this is currently not + // enforced). // - // A context can be preempted to execute another context (we do this, for + // One context can be preempted to execute another context (we do this, for // example, to update build system modules). When switching to such a nested // context you may want to cutoff the diagnostics stack (and maybe insert // your own entry), for example: @@ -142,6 +145,14 @@ namespace build2 // Note also that any given thread should not participate in multiple // schedulers at the same time (see scheduler::join/leave() for details). // + // @@ CTX TODO: + // + // - Move verbosity level to context (see issue in import_module()). + // + // - Scheduler tunning and multiple top-level contexts. + // + // - Detect overlapping contexts (could be expensive). + // class LIBBUILD2_SYMEXPORT context { struct data; |