diff options
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r-- | lldb/source/Target/Process.cpp | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index a86a4e10187..0a758f6d5e2 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -2237,26 +2237,29 @@ Process::PopProcessInputReader () m_target.GetDebugger().PopInputReader (m_process_input_reader); } -lldb::UserSettingsControllerSP -Process::GetSettingsController (bool finish) -{ - static UserSettingsControllerSP g_settings_controller (new SettingsController); - static bool initialized = false; - if (!initialized) - { - initialized = UserSettingsController::InitializeSettingsController (g_settings_controller, - Process::SettingsController::global_settings_table, - Process::SettingsController::instance_settings_table); - } +void +Process::Initialize () +{ + 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 +Process::Terminate () +{ + UserSettingsControllerSP &usc = GetSettingsController(); + UserSettingsController::FinalizeSettingsController (usc); + usc.reset(); +} +UserSettingsControllerSP & +Process::GetSettingsController () +{ + static UserSettingsControllerSP g_settings_controller; return g_settings_controller; } |