Index: src/platform/update_engine/action_processor.cc |
diff --git a/src/platform/update_engine/action_processor.cc b/src/platform/update_engine/action_processor.cc |
index 623e3d25f766962d857c95fe8fdb8a4994a84bdd..21a88f1d175ac5368c18bb9cb28a1f804b7c768b 100644 |
--- a/src/platform/update_engine/action_processor.cc |
+++ b/src/platform/update_engine/action_processor.cc |
@@ -3,6 +3,7 @@ |
// found in the LICENSE file. |
#include "update_engine/action_processor.h" |
+#include "chromeos/obsolete_logging.h" |
#include "update_engine/action.h" |
namespace chromeos_update_engine { |
@@ -49,7 +50,7 @@ void ActionProcessor::StopProcessing() { |
delegate_->ProcessingStopped(this); |
} |
-void ActionProcessor::ActionComplete(const AbstractAction* actionptr, |
+void ActionProcessor::ActionComplete(AbstractAction* actionptr, |
bool success) { |
CHECK_EQ(actionptr, current_action_); |
if (delegate_) |
@@ -60,6 +61,14 @@ void ActionProcessor::ActionComplete(const AbstractAction* actionptr, |
if (actions_.empty()) { |
LOG(INFO) << "ActionProcessor::ActionComplete: finished last action of" |
" type " << old_type; |
+ } else if (!success) { |
+ LOG(INFO) << "ActionProcessor::ActionComplete: " << old_type |
+ << " action failed. Aborting processing."; |
+ actions_.clear(); |
+ } |
+ if (actions_.empty()) { |
+ LOG(INFO) << "ActionProcessor::ActionComplete: finished last action of" |
+ " type " << old_type; |
if (delegate_) { |
delegate_->ProcessingDone(this); |
} |