<div dir="ltr">What were the symptoms of this?  How'd you find it?</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Sep 7, 2015 at 6:47 PM Oleksiy Vyalov via lldb-commits <<a href="mailto:lldb-commits@lists.llvm.org">lldb-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">ovyalov created this revision.<br>
ovyalov added a reviewer: clayborg.<br>
ovyalov added a subscriber: lldb-commits.<br>
<br>
Python locks in memory a few global objects like lldb.debugger,lldb.target,...  - as a consequence, ~Debugger isn't called upon shutdown.<br>
Calling Debugger::Clear ensures that ScriptInterpreterPython::Clear is called to clean up Python global variables.<br>
<br>
<a href="http://reviews.llvm.org/D12683" rel="noreferrer" target="_blank">http://reviews.llvm.org/D12683</a><br>
<br>
Files:<br>
  source/Core/Debugger.cpp<br>
<br>
Index: source/Core/Debugger.cpp<br>
===================================================================<br>
--- source/Core/Debugger.cpp<br>
+++ source/Core/Debugger.cpp<br>
@@ -421,7 +421,11 @@<br>
<br>
     // Clear our master list of debugger objects<br>
     Mutex::Locker locker (GetDebuggerListMutex ());<br>
-    GetDebuggerList().clear();<br>
+    auto& debuggers = GetDebuggerList();<br>
+    for (const auto& debugger: debuggers)<br>
+        debugger->Clear();<br>
+<br>
+    debuggers.clear();<br>
 }<br>
<br>
 void<br>
<br>
<br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
</blockquote></div>