summaryrefslogtreecommitdiffstats
path: root/minadbd/minadbd_services.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'minadbd/minadbd_services.cpp')
-rw-r--r--minadbd/minadbd_services.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/minadbd/minadbd_services.cpp b/minadbd/minadbd_services.cpp
index 5792c7a17..c31afbe06 100644
--- a/minadbd/minadbd_services.cpp
+++ b/minadbd/minadbd_services.cpp
@@ -189,6 +189,14 @@ static void RescueGetpropHostService(unique_fd sfd, const std::string& prop) {
if (!android::base::WriteFully(sfd, result.data(), result.size())) {
exit(kMinadbdHostSocketIOError);
}
+
+ // Send heartbeat signal to keep the rescue service alive.
+ if (!WriteCommandToFd(MinadbdCommand::kNoOp, minadbd_socket)) {
+ exit(kMinadbdSocketIOError);
+ }
+ if (MinadbdCommandStatus status; !WaitForCommandStatus(minadbd_socket, &status)) {
+ exit(kMinadbdMessageFormatError);
+ }
}
// Reboots into the given target. We don't reboot directly from minadbd, but going through recovery