From df69d473d3ab389e915698b8c2c4bb8d22975976 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 22 Oct 2019 14:32:49 +0200 Subject: Implement loaded_modules state locking This would be necessary if someone runs two parallel top-level contexts. --- libbuild2/context.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libbuild2/context.cxx') diff --git a/libbuild2/context.cxx b/libbuild2/context.cxx index 841cc1d..292feed 100644 --- a/libbuild2/context.cxx +++ b/libbuild2/context.cxx @@ -60,7 +60,8 @@ namespace build2 bool dr, bool kg, const strings& cmd_vars, - optional mc) + optional mc, + const loaded_modules_lock* ml) : data_ (new data (*this)), sched (s), mutexes (ms), @@ -76,6 +77,7 @@ namespace build2 global_target_types (data_->global_target_types), global_override_cache (data_->global_override_cache), global_var_overrides (data_->global_var_overrides), + modules_lock (ml), module_context (mc ? *mc : nullptr), module_context_storage (mc ? optional> (nullptr) -- cgit v1.1