diff options
Diffstat (limited to 'minadbd/minadbd_services.cpp')
-rw-r--r-- | minadbd/minadbd_services.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/minadbd/minadbd_services.cpp b/minadbd/minadbd_services.cpp index 68f940cd8..03341e4b8 100644 --- a/minadbd/minadbd_services.cpp +++ b/minadbd/minadbd_services.cpp @@ -190,6 +190,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 |