<div dir="ltr">Ahh, I find it a little confusing that ShouldResume() calls WillResume().  ShouldResume() to me sounds like a function that should be const.  It seems like it should just ask a question and gets a yes/no answer, but not modify anything.  <br><div><br></div><div>But looking over the code, it looks like WillResume() actually means "I don't know if you need to resume or not, but if you do, then do it, and if you don't, then tell me that by returning false"</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jun 1, 2015 at 1:40 PM Adrian McCarthy <<a href="mailto:amccarth@google.com">amccarth@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">ThreadList::WillResume, near the bottom, ends up calling ShouldResume(eStateSuspended) on the other threads, because the ThreadPlanStepOverBreakpoint::StopOthers says it should.<div><br></div><div>Thread::ShouldResume effectively passes its parameter on to the thread's WillResume, with the comment, "Let Thread subclasses do any special work they need to prior to resuming."</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 1, 2015 at 1:30 PM, Zachary Turner <span dir="ltr"><<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><span><div dir="ltr">On Mon, Jun 1, 2015 at 1:29 PM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm not quite ready to throw the blanket over this one yet :)<br><br><div>What was the value of resume_state when it called WillResume()?  It sounds like it was eStateSuspended, which if that's the case, then it still seems like something deeper inside of LLDB's thread plans is confused about something, because calling WillResume(eStateSuspended) means "The process is seriously about to resume, and when it does, this thread is not going to remain suspended".  </div></div></blockquote><div><br></div></span><div>s/is not going to/is going to/ </div></div></div>
</blockquote></div><br></div>
</blockquote></div>