if (!StartWorkerThreads())
return MIstatus::failure;
+ bool bOk = MIstatus::success;
+
if (HaveExecutableFileNamePathOnCmdLine())
{
if (!LocalDebugSessionStartupExecuteCommands())
{
- StopWorkerThreads();
SetErrorDescription(MIRSRC(IDS_MI_INIT_ERR_LOCAL_DEBUG_SESSION));
- return MIstatus::failure;
+ bOk = MIstatus::failure;
}
}
m_bExitApp = false;
// While the app is active
- while (!m_bExitApp)
+ while (bOk && !m_bExitApp)
{
CMIUtilString errorText;
const MIchar *pCmd = m_rStdin.ReadLine (errorText);
break;
}
- bool bOk = false;
{
// Lock Mutex before processing commands so that we don't disturb an event
// being processed
}
// Draw prompt if desired
if (bOk && m_rStdin.GetEnablePrompt())
- m_rStdOut.WriteMIResponse(m_rStdin.GetPrompt());
+ bOk = m_rStdOut.WriteMIResponse(m_rStdin.GetPrompt());
}
}
}
const CMICmnMIValueConst vconst = CMICmnMIValueConst(msg);
const CMICmnMIValueResult valueResult("msg", vconst);
const CMICmnMIResultRecord miResultRecord(cmdData.strMiCmdToken, CMICmnMIResultRecord::eResultClass_Error, valueResult);
- bool bOk = m_rStdOut.WriteMIResponse(miResultRecord.GetString());
- if (bOk && m_rStdin.GetEnablePrompt())
- bOk = m_rStdOut.WriteMIResponse(m_rStdin.GetPrompt());
+ const bool bOk = m_rStdOut.WriteMIResponse(miResultRecord.GetString());
// Proceed to wait for or execute next command
return bOk;