Skip to content

Commit d4d1824

Browse files
authored
[lldb] Terminate the LLDB Log in SystemInitializerCommon::Terminate (#184261)
Currently, when calling SBDebugger::Initialize after SBDebugger::Terminate, you hit an assert in LLDBLog when trying to register the LLDB log a second time. Also fix the awkward capitalization.
1 parent 03e2af7 commit d4d1824

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

lldb/include/lldb/Utility/LLDBLog.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ enum class LLDBLog : Log::MaskType {
5656

5757
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
5858

59-
void InitializeLldbChannel();
59+
void InitializeLLDBChannel();
60+
void TerminateLLDBChannel();
6061

6162
template <> Log::Channel &LogChannelFor<LLDBLog>();
6263
} // namespace lldb_private

lldb/source/Initialization/SystemInitializerCommon.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ llvm::Error SystemInitializerCommon::Initialize() {
6262
}
6363
#endif
6464

65-
InitializeLldbChannel();
65+
InitializeLLDBChannel();
6666

6767
Diagnostics::Initialize();
6868
FileSystem::Initialize();
@@ -99,4 +99,6 @@ void SystemInitializerCommon::Terminate() {
9999
Log::DisableAllLogChannels();
100100
FileSystem::Terminate();
101101
Diagnostics::Terminate();
102+
103+
TerminateLLDBChannel();
102104
}

lldb/source/Utility/LLDBLog.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ template <> Log::Channel &lldb_private::LogChannelFor<LLDBLog>() {
8484
return g_log_channel;
8585
}
8686

87-
void lldb_private::InitializeLldbChannel() {
87+
void lldb_private::InitializeLLDBChannel() {
8888
Log::Register("lldb", g_log_channel);
8989
}
90+
91+
void lldb_private::TerminateLLDBChannel() { Log::Unregister("lldb"); }

0 commit comments

Comments
 (0)