cameron314 added a comment. Ooh, that might work. But when ControlProvateStateThread resets m_private_state_control_wait to false there's still a race between that and the thread exiting. It could then be set back to false even after the thread has exited (this is even likely for a detach).
I tried a different approach, changing `PrivateStateThreadIsValid` to the following. I'm not sure it's the right thing to do, but it certainly fixes the race (and thus timeout) on our platform: bool PrivateStateThreadIsValid () const { lldb::StateType state = m_private_state.GetValue(); return state != lldb::eStateDetached && state != lldb::eStateExited && m_private_state_thread.IsJoinable(); } Repository: rL LLVM http://reviews.llvm.org/D19122 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits