Merge "reboot: only pause indefinitely for non-shutdown operations" am: e808f9213c
am: 2e12030ca5
Change-Id: Ib39292538c623c64fbb624e8291dddf5e1aa1f11
This commit is contained in:
commit
31b57d00d7
1 changed files with 12 additions and 8 deletions
|
|
@ -21,13 +21,13 @@
|
|||
#include <cutils/android_reboot.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int main(int argc, char* argv[]) {
|
||||
int ret;
|
||||
size_t prop_len;
|
||||
char property_val[PROPERTY_VALUE_MAX];
|
||||
const char *cmd = "reboot";
|
||||
char *optarg = "";
|
||||
static const char reboot[] = "reboot";
|
||||
const char* cmd = reboot;
|
||||
char* optarg = "";
|
||||
|
||||
opterr = 0;
|
||||
do {
|
||||
|
|
@ -60,19 +60,23 @@ int main(int argc, char *argv[])
|
|||
|
||||
prop_len = snprintf(property_val, sizeof(property_val), "%s,%s", cmd, optarg);
|
||||
if (prop_len >= sizeof(property_val)) {
|
||||
fprintf(stderr, "reboot command too long: %s\n", optarg);
|
||||
fprintf(stderr, "%s command too long: %s\n", cmd, optarg);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
ret = property_set(ANDROID_RB_PROPERTY, property_val);
|
||||
if(ret < 0) {
|
||||
perror("reboot");
|
||||
if (ret < 0) {
|
||||
perror(cmd);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// Don't return early. Give the reboot command time to take effect
|
||||
// to avoid messing up scripts which do "adb shell reboot && adb wait-for-device"
|
||||
while(1) { pause(); }
|
||||
if (cmd == reboot) {
|
||||
while (1) {
|
||||
pause();
|
||||
}
|
||||
}
|
||||
|
||||
fprintf(stderr, "Done\n");
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue