Fix Debugger::HandleProcessEvent in case when ProcessIOHandler doesn't exist
authorIlia K <ki.stfu@gmail.com>
Thu, 9 Apr 2015 18:18:10 +0000 (18:18 +0000)
committerIlia K <ki.stfu@gmail.com>
Thu, 9 Apr 2015 18:18:10 +0000 (18:18 +0000)
commit1355c047ab0001e6c237bb4f29d756fa6e847246
tree56741553091fa6743ffa106a7cc1879705847253
parent4e8ddf53337ba922e85681400c16d51ef43ccd0a
Fix Debugger::HandleProcessEvent in case when ProcessIOHandler doesn't exist

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
```

Reviewers: zturner, jingham, clayborg

Reviewed By: clayborg

Subscribers: lldb-commits, jingham, zturner, clayborg

Differential Revision: http://reviews.llvm.org/D8929

llvm-svn: 234517
lldb/include/lldb/Target/Process.h
lldb/source/Core/Debugger.cpp