diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-01-30 12:44:15 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-02-13 12:42:41 +0200 |
commit | 1f543f6eb368c3b23aa1f9cd2d23f0dba1456dec (patch) | |
tree | a3c1b756c2cc27fac0ac392ce8d108e147b23840 /build2/context.cxx | |
parent | b262d2c9c56eed18d043dccefac02b54a6ae2f95 (diff) |
Add notion of load phase generation
Diffstat (limited to 'build2/context.cxx')
-rw-r--r-- | build2/context.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/build2/context.cxx b/build2/context.cxx index a8fe2df..a326002 100644 --- a/build2/context.cxx +++ b/build2/context.cxx @@ -25,7 +25,7 @@ namespace build2 { run_phase phase = run_phase::load; - shared_mutex model; + shared_mutex model_mutex; #ifdef __cpp_thread_local thread_local @@ -34,6 +34,8 @@ namespace build2 #endif slock* model_lock; + size_t load_generation; + const variable* var_src_root; const variable* var_out_root; const variable* var_src_base; @@ -188,7 +190,8 @@ namespace build2 // Add it if not found. // if (o->override == nullptr) - o->override.reset (new variable {n + k, nullptr, nullptr, v}); + const_cast<variable*> (o)->override.reset ( + new variable {n + k, nullptr, nullptr, v, 0}); o = o->override.get (); |