Index: tools/android/adb_reboot/adb_reboot.c |
diff --git a/tools/android/adb_reboot/adb_reboot.c b/tools/android/adb_reboot/adb_reboot.c |
index 1cc75339ceb58ede73ff542ad7e75ce6420419ea..1ae079e5c8fd0fa87ea924e74b5f93bdbc43bcf2 100644 |
--- a/tools/android/adb_reboot/adb_reboot.c |
+++ b/tools/android/adb_reboot/adb_reboot.c |
@@ -2,6 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include <sys/types.h> |
+#include <sys/stat.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <unistd.h> |
@@ -23,10 +25,14 @@ int main(int argc, char ** argv) { |
setsid(); /* obtain a new process group */ |
while (1) { |
- system("touch /sdcard/host_heartbeat"); |
sleep(120); |
- if (fopen("/sdcard/host_heartbeat", "r") != NULL) { |
- // File exists, was not removed from host. |
+ |
+ struct stat ft; |
+ time_t ct; |
navabi
2013/03/27 22:05:29
Declare these at the top of the method instead of
Siva Chandra
2013/03/27 22:13:43
Done.
|
+ stat("/sdcard/host_heartbeat", &ft); |
+ time(&ct); |
+ if (ct - ft.st_mtime > 120) { |
+ /* File was not touched for some time. */ |
system("stop adbd"); |
system("sleep 2"); |
system("start adbd"); |