[lldb-dev] Running other threads while stepping

Ed Maste emaste at freebsd.org
Tue Oct 15 10:05:01 PDT 2013


On 5 September 2013 22:28,  <jingham at apple.com> wrote:
>
>> On 5 September 2013 19:37, Kaylor, Andrew <andrew.kaylor at intel.com> wrote:
>>> Incidentally, one of the changes in r166732 looks wrong.  The first change in ThreadPlanStepInRange.cpp was this:
>>>
>>> +        if (m_stop_others == lldb::eOnlyThisThread)
>>>             stop_others = false;
>>> +        else
>>> +            stop_others = true;

> That's the way it is supposed to work...  It does look like ThreadPlanStepInRange test is some kind of thinko.  In practice, in this case it is probably safe to run only one thread when doing the "step through" since that generally involved running from a shared library stub to its target.  That could deadlock if the dynamic loader has to fix up the symbol, and another thread is in the middle of doing that.  But that doesn't seem to be very common, or at least the code is clearly wrong but I haven't had any reports of this causing deadlocks...

It looks like this was never changed -- shall I commit the inverted case?




More information about the lldb-dev mailing list