forked from qt-creator/qt-creator
VcsCommand: Don't use Process::timeoutS()
Use Job's timeoutS field instead. The Process::timeoutS() is going to be removed, soon. Change-Id: I2f2fc7ed99e51242d364a423234321e00ae52b75 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -56,8 +56,7 @@ public:
|
|||||||
void setupProcess(Process *process, const Job &job);
|
void setupProcess(Process *process, const Job &job);
|
||||||
void installStdCallbacks(Process *process);
|
void installStdCallbacks(Process *process);
|
||||||
EventLoopMode eventLoopMode() const;
|
EventLoopMode eventLoopMode() const;
|
||||||
ProcessResult handleDone(Process *process,
|
ProcessResult handleDone(Process *process, const Job &job) const;
|
||||||
const ExitCodeInterpreter &exitCodeInterpreter = {}) const;
|
|
||||||
void startAll();
|
void startAll();
|
||||||
void startNextJob();
|
void startNextJob();
|
||||||
void processDone();
|
void processDone();
|
||||||
@@ -152,16 +151,15 @@ EventLoopMode VcsCommandPrivate::eventLoopMode() const
|
|||||||
return EventLoopMode::Off;
|
return EventLoopMode::Off;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProcessResult VcsCommandPrivate::handleDone(Process *process,
|
ProcessResult VcsCommandPrivate::handleDone(Process *process, const Job &job) const
|
||||||
const ExitCodeInterpreter &exitCodeInterpreter) const
|
|
||||||
{
|
{
|
||||||
ProcessResult result;
|
ProcessResult result;
|
||||||
QString exitMessage;
|
QString exitMessage;
|
||||||
if (exitCodeInterpreter && process->error() != QProcess::FailedToStart
|
if (job.exitCodeInterpreter && process->error() != QProcess::FailedToStart
|
||||||
&& process->exitStatus() == QProcess::NormalExit) {
|
&& process->exitStatus() == QProcess::NormalExit) {
|
||||||
result = exitCodeInterpreter(process->exitCode());
|
result = job.exitCodeInterpreter(process->exitCode());
|
||||||
exitMessage = Process::exitMessage(process->commandLine(), m_result,
|
exitMessage = Process::exitMessage(process->commandLine(), m_result,
|
||||||
process->exitCode(), process->timeoutS());
|
process->exitCode(), job.timeoutS);
|
||||||
} else {
|
} else {
|
||||||
result = process->result();
|
result = process->result();
|
||||||
exitMessage = process->exitMessage();
|
exitMessage = process->exitMessage();
|
||||||
@@ -202,7 +200,7 @@ void VcsCommandPrivate::startNextJob()
|
|||||||
|
|
||||||
void VcsCommandPrivate::processDone()
|
void VcsCommandPrivate::processDone()
|
||||||
{
|
{
|
||||||
m_result = handleDone(m_process.get(), m_jobs.at(m_currentJob).exitCodeInterpreter);
|
m_result = handleDone(m_process.get(), m_jobs.at(m_currentJob));
|
||||||
m_stdOut += m_process->cleanedStdOut();
|
m_stdOut += m_process->cleanedStdOut();
|
||||||
m_stdErr += m_process->cleanedStdErr();
|
m_stdErr += m_process->cleanedStdErr();
|
||||||
++m_currentJob;
|
++m_currentJob;
|
||||||
@@ -305,13 +303,14 @@ CommandResult VcsCommand::runBlockingHelper(const CommandLine &command, int time
|
|||||||
if (command.executable().isEmpty())
|
if (command.executable().isEmpty())
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
d->setupProcess(&process, {command, timeoutS, d->m_defaultWorkingDirectory, {}});
|
const Internal::VcsCommandPrivate::Job job{command, timeoutS, d->m_defaultWorkingDirectory};
|
||||||
|
d->setupProcess(&process, job);
|
||||||
process.setTimeoutS(timeoutS);
|
process.setTimeoutS(timeoutS);
|
||||||
|
|
||||||
const EventLoopMode eventLoopMode = d->eventLoopMode();
|
const EventLoopMode eventLoopMode = d->eventLoopMode();
|
||||||
process.setTimeOutMessageBoxEnabled(eventLoopMode == EventLoopMode::On);
|
process.setTimeOutMessageBoxEnabled(eventLoopMode == EventLoopMode::On);
|
||||||
process.runBlocking(eventLoopMode);
|
process.runBlocking(eventLoopMode);
|
||||||
d->handleDone(&process);
|
d->handleDone(&process, job);
|
||||||
|
|
||||||
return CommandResult(process);
|
return CommandResult(process);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user