This is an archive of the discontinued LLVM Phabricator instance.

Fix =thread-exited message (MI)
ClosedPublic

Authored by ki.stfu on Mar 25 2015, 4:45 AM.

Details

Summary

This patch includes:

  1. Fix invalid thread id in =thread-exited message
  2. Remove invalid threads from cache

All tests pass on OS X.

Diff Detail

Event Timeline

ki.stfu updated this revision to Diff 22639.Mar 25 2015, 4:45 AM
ki.stfu retitled this revision from to Fix =thread-exited message (MI).
ki.stfu updated this object.
ki.stfu edited the test plan for this revision. (Show Details)
ki.stfu added a reviewer: abidh.
ki.stfu added subscribers: abidh, Unknown Object (MLST).
ki.stfu updated this revision to Diff 22640.Mar 25 2015, 4:47 AM

oops. remove mistakenly added files

abidh accepted this revision.Mar 25 2015, 5:08 AM
abidh edited edge metadata.

Looks ok.

tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp
1677

Just a question. It was printing invalid thread id because thread.GetIndexID() was returning a garbage value?

This revision is now accepted and ready to land.Mar 25 2015, 5:08 AM
ki.stfu added inline comments.Mar 25 2015, 5:47 AM
tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp
1677

It's not quite correct. SBThread::IsValid() means that SBThread.m_opaque_ptr isn't null. Therefore when it's invalid the m_opaque_ptr is null and in this case the SBThread::GetIndexID() returns LLDB_INVALID_THREAD_ID constant (I don't remember the name of this constant exactly).

ki.stfu closed this revision.Mar 26 2015, 12:14 AM