Chromium Code Reviews| Index: build/android/pylib/android_commands.py |
| diff --git a/build/android/pylib/android_commands.py b/build/android/pylib/android_commands.py |
| index f8c074758d08c35ce7b637959447b1a68faaf598..45380c2e9e879ee3785627aa6c952f1ec12eda31 100644 |
| --- a/build/android/pylib/android_commands.py |
| +++ b/build/android/pylib/android_commands.py |
| @@ -459,18 +459,41 @@ class AndroidCommands(object): |
| def RestartAdbServer(self): |
| """Restart the adb server.""" |
| - self.KillAdbServer() |
| - self.StartAdbServer() |
| + ret = self.KillAdbServer() |
| + if ret != 0: |
| + raise errors.MsgException('KillAdbServer: %d' % ret) |
| + |
| + ret = self.StartAdbServer() |
| + if ret != 0: |
| + raise errors.MsgException('StartAdbServer: %d' % ret) |
| def KillAdbServer(self): |
| """Kill adb server.""" |
| adb_cmd = [constants.ADB_PATH, 'kill-server'] |
| - return cmd_helper.RunCmd(adb_cmd) |
| + ret = cmd_helper.RunCmd(adb_cmd) |
| + retry = 0 |
| + while retry < 3: |
| + ret = cmd_helper.RunCmd(['pgrep', 'adb']) |
| + if ret != 0: |
| + # pgrep didn't find adb, kill-server succeeded. |
| + return 0 |
| + retry += 1 |
| + time.sleep(retry) |
| + return ret |
| def StartAdbServer(self): |
| """Start adb server.""" |
| - adb_cmd = [constants.ADB_PATH, 'start-server'] |
| - return cmd_helper.RunCmd(adb_cmd) |
| + adb_cmd = ['taskset', '-c', '0', constants.ADB_PATH, 'start-server'] |
| + ret = cmd_helper.RunCmd(adb_cmd) |
| + retry = 0 |
| + while retry < 3: |
| + ret = cmd_helper.RunCmd(['pgrep', 'adb']) |
| + if ret == 0: |
| + # pgrep fond adb, start-server succeeded. |
|
frankf
2013/08/14 21:15:19
typo
bulach
2013/08/15 08:22:39
Done.
|
| + return 0 |
| + retry += 1 |
| + time.sleep(retry) |
| + return ret |
| def WaitForSystemBootCompleted(self, wait_time): |
| """Waits for targeted system's boot_completed flag to be set. |