summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Target.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Target/Target.cpp')
-rw-r--r--lldb/source/Target/Target.cpp36
1 files changed, 19 insertions, 17 deletions
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 5464b297392..da42e47c08d 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -769,26 +769,28 @@ Target::GetScratchClangASTContext()
return m_scratch_ast_context_ap.get();
}
-lldb::UserSettingsControllerSP
-Target::GetSettingsController (bool finish)
+void
+Target::Initialize ()
{
- static lldb::UserSettingsControllerSP g_settings_controller (new SettingsController);
- static bool initialized = false;
-
- if (!initialized)
- {
- initialized = UserSettingsController::InitializeSettingsController (g_settings_controller,
- Target::SettingsController::global_settings_table,
- Target::SettingsController::instance_settings_table);
- }
+ UserSettingsControllerSP &usc = GetSettingsController();
+ usc.reset (new SettingsController);
+ UserSettingsController::InitializeSettingsController (usc,
+ SettingsController::global_settings_table,
+ SettingsController::instance_settings_table);
+}
- if (finish)
- {
- UserSettingsController::FinalizeSettingsController (g_settings_controller);
- g_settings_controller.reset();
- initialized = false;
- }
+void
+Target::Terminate ()
+{
+ UserSettingsControllerSP &usc = GetSettingsController();
+ UserSettingsController::FinalizeSettingsController (usc);
+ usc.reset();
+}
+UserSettingsControllerSP &
+Target::GetSettingsController ()
+{
+ static UserSettingsControllerSP g_settings_controller;
return g_settings_controller;
}
OpenPOWER on IntegriCloud