| Index: build/android/pylib/device/decorators.py
|
| diff --git a/build/android/pylib/device/decorators.py b/build/android/pylib/device/decorators.py
|
| index 9362f95528d10318d43cf5d7dbf0e414169a05de..074a0fcac14131abe15fc3cdbf719c15849f7908 100644
|
| --- a/build/android/pylib/device/decorators.py
|
| +++ b/build/android/pylib/device/decorators.py
|
| @@ -9,6 +9,7 @@ Function/method decorators that provide timeout and retry logic.
|
| import functools
|
| import os
|
| import sys
|
| +import threading
|
|
|
| from pylib import constants
|
| from pylib.device import device_errors
|
| @@ -48,7 +49,11 @@ def _TimeoutRetryWrapper(f, timeout_func, retries_func, pass_values=False):
|
| def impl():
|
| return f(*args, **kwargs)
|
| try:
|
| - return timeout_retry.Run(impl, timeout, retries)
|
| + if isinstance(threading.current_thread(),
|
| + timeout_retry.TimeoutRetryThread):
|
| + return impl()
|
| + else:
|
| + return timeout_retry.Run(impl, timeout, retries)
|
| except old_errors.WaitForResponseTimedOutError as e:
|
| raise device_errors.CommandTimeoutError(str(e)), None, (
|
| sys.exc_info()[2])
|
|
|