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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits