# # # patch "src/monotone/MonotoneUtil.cpp" # from [15599cf0fae9d75b255f3ed9ebe5bccb092cfe44] # to [55cfbc5317d3301b2617d9035a01078069453668] # # patch "src/monotone/MonotoneUtil.h" # from [d165306a429a2f07f967e554f5ed94fa5e147576] # to [bdf904b7474e98f2fc430d5c6f79ffdaf94ca044] # ============================================================ --- src/monotone/MonotoneUtil.cpp 15599cf0fae9d75b255f3ed9ebe5bccb092cfe44 +++ src/monotone/MonotoneUtil.cpp 55cfbc5317d3301b2617d9035a01078069453668 @@ -44,6 +44,19 @@ void MonotoneUtil::taskFinished(const Mo eventLoop.quit(); } + +void MonotoneUtil::taskAborted(const MonotoneTask & task) +{ + if (task.getCommandNumber() != commandNumber) return; + C(QString("Task %1 (thread %2) aborted (%3)") + .arg(task.getCommandNumber()) + .arg(task.getThreadNumber()) + .arg(QString::fromUtf8(task.getEncodedInput())) + ); + result = task; + eventLoop.quit(); +} + bool MonotoneUtil::runCommand(const QString & path, const QStringList & params, QString & output) { QProcess proc; @@ -52,14 +65,14 @@ bool MonotoneUtil::runCommand(const QStr // could not be started (invalid path, not executable, ...) if (!proc.waitForStarted(5000)) { - D("process not started"); + C("process not started"); return false; } // process doesn't return, etc... if (!proc.waitForFinished(5000)) { - D("process not finished"); + C("process not finished"); return false; } @@ -191,6 +204,7 @@ QString MonotoneUtil::getBaseWorkspaceRe { MonotoneTask in(QStringList() << "get_base_revision_id"); MonotoneTask out = runSynchronousTask(db, in); + if (!out.isFinished()) F("task aborted"); QString data = out.getOutputUtf8(); if (out.getReturnCode() > 0) @@ -211,6 +225,7 @@ QString MonotoneUtil::getOption(const QS { MonotoneTask in(QStringList() << "get_option" << opt); MonotoneTask out = runSynchronousTask(db, in); + if (!out.isFinished()) F("task aborted"); QString data = out.getOutputUtf8(); if (out.getReturnCode() > 0) @@ -271,6 +286,7 @@ QStringList MonotoneUtil::resolveSelecto { MonotoneTask in(QStringList() << "select" << selector); MonotoneTask out = runSynchronousTask(db, in); + if (!out.isFinished()) F("task aborted"); QString data = out.getOutputUtf8(); if (out.getReturnCode() > 0) @@ -287,6 +303,7 @@ RevisionCerts MonotoneUtil::getRevisionC { MonotoneTask in(QStringList() << "certs" << revision); MonotoneTask out = runSynchronousTask(db, in); + if (!out.isFinished()) F("task aborted"); QString data = out.getOutputUtf8(); if (out.getReturnCode() > 0) @@ -335,6 +352,7 @@ FileEntryList MonotoneUtil::getRevisionM MonotoneTask in(cmd); MonotoneTask out = runSynchronousTask(db, in); + if (!out.isFinished()) F("task aborted"); QString data = out.getOutputUtf8(); if (out.getReturnCode() > 0) @@ -397,6 +415,7 @@ QStringList MonotoneUtil::getPrivateKeyL { MonotoneTask in(QStringList() << "keys"); MonotoneTask out = runSynchronousTask(db, in); + if (!out.isFinished()) F("task aborted"); QString data = out.getOutputUtf8(); if (out.getReturnCode() > 0) @@ -440,6 +459,7 @@ QString MonotoneUtil::getFileId(const QS { MonotoneTask in(QStringList() << "identify" << path); MonotoneTask out = runSynchronousTask(db, in); + if (!out.isFinished()) F("task aborted"); QString data = out.getOutputUtf8(); if (out.getReturnCode() > 0) ============================================================ --- src/monotone/MonotoneUtil.h d165306a429a2f07f967e554f5ed94fa5e147576 +++ src/monotone/MonotoneUtil.h bdf904b7474e98f2fc430d5c6f79ffdaf94ca044 @@ -58,6 +58,7 @@ private slots: private slots: void taskFinished(const MonotoneTask &); + void taskAborted(const MonotoneTask &); }; #endif