Fix hang on host apply payload am: 4c42a43b85
Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1485137
Change-Id: I4d422618edbd0bfe58b76ccdcba7cf65d5f5867f
diff --git a/payload_generator/generate_delta_main.cc b/payload_generator/generate_delta_main.cc
index 1944847..2e32f1b 100644
--- a/payload_generator/generate_delta_main.cc
+++ b/payload_generator/generate_delta_main.cc
@@ -18,6 +18,7 @@
#include <string>
#include <vector>
+#include <base/bind.h>
#include <base/files/file_path.h>
#include <base/files/file_util.h>
#include <base/logging.h>
@@ -234,7 +235,9 @@
processor.EnqueueAction(std::move(install_plan_action));
processor.EnqueueAction(std::move(download_action));
processor.EnqueueAction(std::move(filesystem_verifier_action));
- processor.StartProcessing();
+ loop.PostTask(FROM_HERE,
+ base::Bind(&ActionProcessor::StartProcessing,
+ base::Unretained(&processor)));
loop.Run();
CHECK_EQ(delegate.code_, ErrorCode::kSuccess);
LOG(INFO) << "Completed applying " << (config.is_delta ? "delta" : "full")