summaryrefslogtreecommitdiffstats
path: root/lldb/source/Initialization/SystemLifetimeManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Initialization/SystemLifetimeManager.cpp')
-rw-r--r--lldb/source/Initialization/SystemLifetimeManager.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lldb/source/Initialization/SystemLifetimeManager.cpp b/lldb/source/Initialization/SystemLifetimeManager.cpp
index 4d271787833..65431bf6017 100644
--- a/lldb/source/Initialization/SystemLifetimeManager.cpp
+++ b/lldb/source/Initialization/SystemLifetimeManager.cpp
@@ -24,9 +24,9 @@ SystemLifetimeManager::~SystemLifetimeManager() {
"SystemLifetimeManager destroyed without calling Terminate!");
}
-void SystemLifetimeManager::Initialize(
+llvm::Error SystemLifetimeManager::Initialize(
std::unique_ptr<SystemInitializer> initializer,
- LoadPluginCallbackType plugin_callback) {
+ const InitializerOptions &options, LoadPluginCallbackType plugin_callback) {
std::lock_guard<std::recursive_mutex> guard(m_mutex);
if (!m_initialized) {
assert(!m_initializer && "Attempting to call "
@@ -35,9 +35,13 @@ void SystemLifetimeManager::Initialize(
m_initialized = true;
m_initializer = std::move(initializer);
- m_initializer->Initialize();
+ if (auto e = m_initializer->Initialize(options))
+ return e;
+
Debugger::Initialize(plugin_callback);
}
+
+ return llvm::Error::success();
}
void SystemLifetimeManager::Terminate() {
OpenPOWER on IntegriCloud