Fix places that were writing directly to the debugger's output

handles to go through the appropriate channels instead.

llvm-svn: 131415
This commit is contained in:
Caroline Tice
2011-05-16 19:20:50 +00:00
parent 872a91167e
commit b5059acc5f
2 changed files with 19 additions and 7 deletions

View File

@@ -23,6 +23,7 @@
#include "lldb/Breakpoint/BreakpointLocation.h"
#include "lldb/Breakpoint/StoppointCallbackContext.h"
#include "lldb/Core/State.h"
#include "lldb/Core/StreamAsynchronousIO.h"
using namespace lldb;
using namespace lldb_private;
@@ -802,9 +803,13 @@ CommandObjectBreakpointCommand::BreakpointOptionsCallbackFunction
// Rig up the results secondary output stream to the debugger's, so the output will come out synchronously
// if the debugger is set up that way.
result.SetImmediateOutputFile (debugger.GetOutputFile().GetStream());
result.SetImmediateErrorFile (debugger.GetErrorFile().GetStream());
StreamSP output_stream (new StreamAsynchronousIO (debugger.GetCommandInterpreter(),
CommandInterpreter::eBroadcastBitAsynchronousOutputData));
StreamSP error_stream (new StreamAsynchronousIO (debugger.GetCommandInterpreter(),
CommandInterpreter::eBroadcastBitAsynchronousErrorData));
result.SetImmediateOutputStream (output_stream);
result.SetImmediateErrorStream (error_stream);
bool stop_on_continue = true;
bool echo_commands = false;
bool print_results = true;
@@ -816,7 +821,9 @@ CommandObjectBreakpointCommand::BreakpointOptionsCallbackFunction
echo_commands,
print_results,
result);
}
result.GetImmediateOutputStream()->Flush();
result.GetImmediateErrorStream()->Flush();
}
}
return ret_value;
}