From 7bad7c4646ee8fd8d6e6ed0ffd3ddbb0c1b41a2f Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Tue, 28 Apr 2015 17:24:24 -0700 Subject: Check all lseek calls succeed. Also add missing TEMP_FAILURE_RETRYs on read, write, and lseek. Bug: http://b/20625546 Change-Id: I03b198e11c1921b35518ee2dd005a7cfcf4fd94b --- ui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ui.cpp') diff --git a/ui.cpp b/ui.cpp index dca325fea..1a0b079cc 100644 --- a/ui.cpp +++ b/ui.cpp @@ -251,7 +251,7 @@ bool RecoveryUI::IsUsbConnected() { char buf; // USB is connected if android_usb state is CONNECTED or CONFIGURED. - int connected = (read(fd, &buf, 1) == 1) && (buf == 'C'); + int connected = (TEMP_FAILURE_RETRY(read(fd, &buf, 1)) == 1) && (buf == 'C'); if (close(fd) < 0) { printf("failed to close /sys/class/android_usb/android0/state: %s\n", strerror(errno)); -- cgit v1.2.3 From e5ce2a5a10076e6f939a3736f570b48aa9a7cd24 Mon Sep 17 00:00:00 2001 From: Gaelle Nassiet Date: Wed, 27 May 2015 10:39:29 +0200 Subject: recovery: change the way of rebooting when using power key combo The power key combo allow to reboot from recovery mode by pressing power button 7 times in a row. It calls directly the function android_reboot() and lead to permission denial errors because of SE Linux rules enforcement. The right way to reboot from recovery is to set the property "sys.powerctl" and let init handle it. Change-Id: Ic7b81e446c3ee13dfbad10cda13a6a1f93123b76 Signed-off-by: Gaelle Nassiet --- ui.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ui.cpp') diff --git a/ui.cpp b/ui.cpp index 1a0b079cc..d88cbfeba 100644 --- a/ui.cpp +++ b/ui.cpp @@ -28,6 +28,7 @@ #include #include +#include #include #include "common.h" @@ -174,7 +175,8 @@ void RecoveryUI::ProcessKey(int key_code, int updown) { case RecoveryUI::REBOOT: if (reboot_enabled) { - android_reboot(ANDROID_RB_RESTART, 0, 0); + property_set(ANDROID_RB_PROPERTY, "reboot,"); + while(1) { pause(); } } break; -- cgit v1.2.3 From 752386319c0d9fb7e4e429a0644086b318d3b4b5 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Wed, 27 May 2015 14:46:17 -0700 Subject: Clean up the sleep()'s after poking init services Change-Id: I77564fe5c59e604f1377b278681b7d1bff53a77a --- ui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ui.cpp') diff --git a/ui.cpp b/ui.cpp index d88cbfeba..2efb759db 100644 --- a/ui.cpp +++ b/ui.cpp @@ -176,7 +176,7 @@ void RecoveryUI::ProcessKey(int key_code, int updown) { case RecoveryUI::REBOOT: if (reboot_enabled) { property_set(ANDROID_RB_PROPERTY, "reboot,"); - while(1) { pause(); } + while (true) { pause(); } } break; -- cgit v1.2.3