Fix hang on host apply payload am: 4c42a43b85 am: 39629089d6 am: 8214c9fb73 am: 255d262bdb
Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/1485137
Change-Id: Id2355e51b1487c037862f3a2575a9b99cd528003
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")