This is an archive of the discontinued LLVM Phabricator instance.

Fix Debugger::HandleProcessEvent in case when ProcessIOHandler doesn't exist
ClosedPublic

Authored by ki.stfu on Apr 9 2015, 10:41 AM.

Details

Summary

Previously the Debugger::HandleProcessEvent hid a top IOHandler if the
process's IOHandler was inactive and later refreshed it. Usually the
IOHandler.Refresh() prints the (lldb) prompt. The problem was in case of
iOS remote platform when trying to execute 'command source' command.
On this platform the process's IOHandler is empty, therefore the
Debugger::HandleProcessEvent hid a top IOHandler and later refreshed it.
So that the (lldb) prompt was printed with a program output in mixed
order:
was:

longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong
longlonglonglonglonglonglonglonglonglonglonglonglonglonglon(lldb)
glonglonglonglonglonglonglonglonglonglonglonglong string

now:

longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong
longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong
longlonglonglonglonglonglonglonglong string

Diff Detail

Event Timeline

ki.stfu updated this revision to Diff 23506.Apr 9 2015, 10:41 AM
ki.stfu retitled this revision from to Fix Debugger::HandleProcessEvent in case when ProcessIOHandler doesn't exist.
ki.stfu updated this object.
ki.stfu edited the test plan for this revision. (Show Details)
ki.stfu added reviewers: clayborg, zturner, jingham.
ki.stfu added subscribers: clayborg, zturner, jingham, Unknown Object (MLST).
clayborg accepted this revision.Apr 9 2015, 10:56 AM
clayborg edited edge metadata.

Looks good.

This revision is now accepted and ready to land.Apr 9 2015, 10:56 AM
ki.stfu closed this revision.Apr 9 2015, 11:21 AM