summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp20
-rw-r--r--lldb/tools/lldb-mi/MICmnStreamStdin.cpp1
-rw-r--r--lldb/tools/lldb-mi/MICmnStreamStdin.h1
-rw-r--r--lldb/tools/lldb-mi/MICmnStreamStdout.cpp22
-rw-r--r--lldb/tools/lldb-mi/MICmnStreamStdout.h1
-rw-r--r--lldb/tools/lldb-mi/MIDriver.cpp11
6 files changed, 33 insertions, 23 deletions
diff --git a/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp b/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp
index 4b030d1de5c..37e75bdacf9 100644
--- a/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp
+++ b/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp
@@ -1022,7 +1022,7 @@ CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStopSignal(bool &vwrbShouldBrk
const CMICmnMIValueResult miValueResult7("stopped-threads", miValueConst7);
bOk = bOk && miOutOfBandRecord.Add(miValueResult7);
bOk = bOk && MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
}
else if (nStopReason == m_SIGSEGV)
{
@@ -1090,7 +1090,7 @@ CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStopSignal(bool &vwrbShouldBrk
const CMICmnMIValueResult miValueResult4("stopped-threads", miValueConst4);
bOk = bOk && miOutOfBandRecord.Add(miValueResult4);
bOk = bOk && MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
}
return bOk;
}
@@ -1128,7 +1128,7 @@ CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStopException(void)
const CMICmnMIValueResult miValueResult4("stopped-threads", miValueConst4);
bOk = bOk && miOutOfBandRecord.Add(miValueResult4);
bOk = bOk && MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
return bOk;
}
@@ -1248,7 +1248,7 @@ CMICmnLLDBDebuggerHandleEvents::MiStoppedAtBreakPoint(const MIuint64 vBrkPtId, c
const CMICmnMIValueResult miValueResult6("stopped-threads", miValueConst6);
bOk = bOk && miOutOfBandRecord.Add(miValueResult6);
bOk = bOk && MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
return bOk;
}
@@ -1290,7 +1290,7 @@ CMICmnLLDBDebuggerHandleEvents::MiStoppedAtBreakPoint(const MIuint64 vBrkPtId, c
const CMICmnMIValueResult miValueResult9("stopped-threads", miValueConst9);
bOk = miOutOfBandRecord.Add(miValueResult9);
bOk = MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
}
return MIstatus::success;
@@ -1321,7 +1321,7 @@ CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStopReasonTrace(void)
const CMICmnMIValueResult miValueResult2("stopped-threads", miValueConst2);
bOk = miOutOfBandRecord.Add(miValueResult2);
bOk = MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
return bOk;
}
@@ -1355,7 +1355,7 @@ CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStopReasonTrace(void)
const CMICmnMIValueResult miValueResult9("stopped-threads", miValueConst9);
bOk = miOutOfBandRecord.Add(miValueResult9);
bOk = MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
}
return bOk;
@@ -1447,7 +1447,7 @@ CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStateRunning(void)
CMICmnMIValueResult miValueResult("thread-id", miValueConst);
CMICmnMIOutOfBandRecord miOutOfBandRecord(CMICmnMIOutOfBandRecord::eOutOfBand_Running, miValueResult);
bool bOk = MiOutOfBandRecordToStdout(miOutOfBandRecord);
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
return bOk;
}
@@ -1491,7 +1491,7 @@ CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStateExited(void)
CMICmnMIOutOfBandRecord miOutOfBandRecord3(CMICmnMIOutOfBandRecord::eOutOfBand_Stopped, miValueResult4);
bOk = MiOutOfBandRecordToStdout(miOutOfBandRecord3);
}
- bOk = bOk && TextToStdout("(gdb)");
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
return bOk;
}
@@ -1693,7 +1693,7 @@ CMICmnLLDBDebuggerHandleEvents::ChkForStateChanges(void)
++it;
}
- return TextToStdout("(gdb)");
+ return CMICmnStreamStdout::WritePrompt();
}
//++ ------------------------------------------------------------------------------------
diff --git a/lldb/tools/lldb-mi/MICmnStreamStdin.cpp b/lldb/tools/lldb-mi/MICmnStreamStdin.cpp
index e22ba70eb35..80e37420fab 100644
--- a/lldb/tools/lldb-mi/MICmnStreamStdin.cpp
+++ b/lldb/tools/lldb-mi/MICmnStreamStdin.cpp
@@ -31,7 +31,6 @@
CMICmnStreamStdin::CMICmnStreamStdin(void)
: m_strPromptCurrent("(gdb)")
, m_bShowPrompt(true)
- , m_bRedrawPrompt(true)
, m_pCmdBuffer(nullptr)
{
}
diff --git a/lldb/tools/lldb-mi/MICmnStreamStdin.h b/lldb/tools/lldb-mi/MICmnStreamStdin.h
index 4ecb99517d0..7062e9d5b66 100644
--- a/lldb/tools/lldb-mi/MICmnStreamStdin.h
+++ b/lldb/tools/lldb-mi/MICmnStreamStdin.h
@@ -56,7 +56,6 @@ class CMICmnStreamStdin : public CMICmnBase, public MI::ISingleton<CMICmnStreamS
private:
CMIUtilString m_strPromptCurrent; // Command line prompt as shown to the user
bool m_bShowPrompt; // True = Yes prompt is shown/output to the user (stdout), false = no prompt
- bool m_bRedrawPrompt; // True = Prompt needs to be redrawn
static const int m_constBufferSize = 2048;
MIchar *m_pCmdBuffer;
};
diff --git a/lldb/tools/lldb-mi/MICmnStreamStdout.cpp b/lldb/tools/lldb-mi/MICmnStreamStdout.cpp
index 3f4ab0e024b..63dec65a775 100644
--- a/lldb/tools/lldb-mi/MICmnStreamStdout.cpp
+++ b/lldb/tools/lldb-mi/MICmnStreamStdout.cpp
@@ -216,9 +216,23 @@ CMICmnStreamStdout::Unlock(void)
bool
CMICmnStreamStdout::TextToStdout(const CMIUtilString &vrTxt)
{
- const bool bLock = CMICmnStreamStdout::Instance().Lock();
- const bool bOk = bLock && CMICmnStreamStdout::Instance().WriteMIResponse(vrTxt);
- bLock &&CMICmnStreamStdout::Instance().Unlock();
+ const bool bSendToLog = true;
+ return CMICmnStreamStdout::Instance().WriteMIResponse(vrTxt, bSendToLog);
+}
- return bOk;
+//++ ------------------------------------------------------------------------------------
+// Details: Write prompt to stdout if it's enabled.
+// Type: Static method.
+// Args: None.
+// Return: MIstatus::success - Function succeeded.
+// MIstatus::failure - Function failed.
+// Throws: None.
+//--
+bool
+CMICmnStreamStdout::WritePrompt(void)
+{
+ const CMICmnStreamStdin &rStdinMan = CMICmnStreamStdin::Instance();
+ if (rStdinMan.GetEnablePrompt())
+ return TextToStdout(rStdinMan.GetPrompt());
+ return MIstatus::success;
}
diff --git a/lldb/tools/lldb-mi/MICmnStreamStdout.h b/lldb/tools/lldb-mi/MICmnStreamStdout.h
index c30cb772d41..526a322f6e3 100644
--- a/lldb/tools/lldb-mi/MICmnStreamStdout.h
+++ b/lldb/tools/lldb-mi/MICmnStreamStdout.h
@@ -31,6 +31,7 @@ class CMICmnStreamStdout : public CMICmnBase, public MI::ISingleton<CMICmnStream
// Statics:
public:
static bool TextToStdout(const CMIUtilString &vrTxt);
+ static bool WritePrompt(void);
// Methods:
public:
diff --git a/lldb/tools/lldb-mi/MIDriver.cpp b/lldb/tools/lldb-mi/MIDriver.cpp
index 55f9a6ce3a8..09bdd3c3bf9 100644
--- a/lldb/tools/lldb-mi/MIDriver.cpp
+++ b/lldb/tools/lldb-mi/MIDriver.cpp
@@ -576,8 +576,7 @@ CMIDriver::DoMainLoop(void)
}
// Draw prompt if desired
- if (bOk && m_rStdin.GetEnablePrompt())
- bOk = m_rStdOut.WriteMIResponse(m_rStdin.GetPrompt());
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
// Wait while the handler thread handles incoming events
CMICmnLLDBDebugger::Instance().WaitForHandleEvent();
@@ -1173,7 +1172,7 @@ CMIDriver::InitClientIDEToMIDriver(void) const
bool
CMIDriver::InitClientIDEEclipse(void) const
{
- return CMICmnStreamStdout::TextToStdout("(gdb)");
+ return CMICmnStreamStdout::WritePrompt();
}
//++ ------------------------------------------------------------------------------------
@@ -1223,8 +1222,7 @@ CMIDriver::LocalDebugSessionStartupExecuteCommands(void)
const CMIUtilString strCmd(CMIUtilString::Format("-file-exec-and-symbols \"%s\"", m_strCmdLineArgExecuteableFileNamePath.AddSlashes().c_str()));
bool bOk = CMICmnStreamStdout::TextToStdout(strCmd);
bOk = bOk && InterpretCommand(strCmd);
- if (bOk && m_rStdin.GetEnablePrompt())
- bOk = m_rStdOut.WriteMIResponse(m_rStdin.GetPrompt());
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
return bOk;
}
@@ -1304,8 +1302,7 @@ CMIDriver::ExecuteCommandFile(const bool vbAsyncMode)
}
// Draw the prompt after command will be executed (if enabled)
- if (bOk && m_rStdin.GetEnablePrompt())
- bOk = m_rStdOut.WriteMIResponse(m_rStdin.GetPrompt());
+ bOk = bOk && CMICmnStreamStdout::WritePrompt();
// Exit if there is an error
if (!bOk)
OpenPOWER on IntegriCloud