jeffreytan81 wrote:

@jimingham, sounds good. I will move the logic into ValueObject.

> TryAllThreads is true

I did not see any client code setting this to true, I assume this happens 
because `m_try_others` is true by default? Maybe we should set `m_try_others`'s 
default value to false to avoid side effect like this? 

It sucks that we have to use timeout to guess and detect potential deadlock and 
resume all threads. On Windows, I remember I implemented the deadlock-free 
expression evaluation for VS debugger much accurately because Windows has an 
API to detect mutex block chain. With the APIs, I can even find out which 
dependency thread to resume to resolve the deadlock. It does not cover all 
synchronization situations though. 




https://github.com/llvm/llvm-project/pull/108414
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to