forked from OSchip/llvm-project
3cd13c4624
The debugserver profile thread used to suspend itself between samples with a usleep. When you detach or kill, MachProcess::Clear would delay replying to the incoming packet until pthread_join of the profile thread returned. If you are unlucky or the suspend delay is long, it could take longer than the packet timeout for pthread_join to return. Then you would get an error about detach not succeeding from lldb - even though in fact the detach was successful... I replaced the usleep with PThreadEvents entity. Then we just call a timed WaitForEventBits, and when debugserver wants to stop the profile thread, it can set the event bit, and the sleep will exit immediately. Differential Revision: https://reviews.llvm.org/D75004 |
||
---|---|---|
.. | ||
argdumper | ||
compact-unwind | ||
darwin-debug | ||
darwin-threads | ||
debugserver | ||
driver | ||
intel-features | ||
lldb-instr | ||
lldb-perf/darwin/sketch | ||
lldb-server | ||
lldb-test | ||
lldb-vscode | ||
CMakeLists.txt |