Go to file
Greg Clayton 08765fac3f I finally found the strong reference that was keeping all lldb_private::Process instances from ever destroying themselves: ProcessModID.m_mod_id was holding onto the last stop event with ProcessModID::SetStopEventForLastNaturalStopID(EventSP). This is a bad idea because ProcessEventData contains a strong refereence to the process. This is now fixed by calling ProcessModID::SetStopEventForLastNaturalStopID(EventSP()) to clear this event in Process::SetExitStatus() and in Process::Finalize().
This was the original cause of the file descriptor leaks that would cause the test suite to die after running a few hundred processes since no process would ever get destroyed and the communication channel in ProcessGDBRemote and the ProcessIOHandler would never close their pipes. 

This process leak was previously worked around by closing the pipes when the communication channel was disconnected.

This was found by using "ptr_refs" from the heap.py in the lldb.macosx.heap module. It was able to find all strong references to the Process and helped me to figure out who was holding this extra reference.

llvm-svn: 238392
2015-05-28 03:24:30 +00:00
clang [omp] Re-work Clang's handling of -fopenmp and undo r237769. 2015-05-28 01:52:38 +00:00
clang-tools-extra [clang-tidy] Renamed misc-noexcept-move-ctors to misc-noexcept-move-constructor 2015-05-27 14:24:11 +00:00
compiler-rt [asan] Fix build dependency issues with ASan version list file. 2015-05-27 22:38:01 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Use a more accurate implementation for exp 2015-05-13 03:55:09 +00:00
libcxx Fix PR#23647 - make_shared<volatile bool> - second try 2015-05-27 22:44:47 +00:00
libcxxabi Make sure !empty() before calling String::front(). 2015-05-26 23:14:26 +00:00
libunwind Code cleanup: Remove duplicated line. 2015-05-17 13:49:18 +00:00
lld Fix unused variable warnings. 2015-05-28 00:29:56 +00:00
lldb I finally found the strong reference that was keeping all lldb_private::Process instances from ever destroying themselves: ProcessModID.m_mod_id was holding onto the last stop event with ProcessModID::SetStopEventForLastNaturalStopID(EventSP). This is a bad idea because ProcessEventData contains a strong refereence to the process. This is now fixed by calling ProcessModID::SetStopEventForLastNaturalStopID(EventSP()) to clear this event in Process::SetExitStatus() and in Process::Finalize(). 2015-05-28 03:24:30 +00:00
llgo [llgo] cmd/llgoi: use line editor 2015-05-23 15:16:09 +00:00
llvm [x86] Refactor the tests for popcnt. 2015-05-28 02:40:15 +00:00
openmp Fix comment about balanced affinity 2015-05-27 23:27:33 +00:00
polly Drop const in front of iterator 2015-05-27 06:51:34 +00:00