Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Side by Side Diff: build/android/pylib/utils/watchdog.py

Issue 13590002: [Android] Print the stack of deadlocked threads when sharding. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Watchdog timeout objects."""
6
7 import time
8
9
10 class Watchdog(object):
11 """A resetable timeout-based watchdog.
12
13 This object is threadsafe.
14 """
15
16 def __init__(self, timeout):
17 """Initializes the watchdog.
18
19 Args:
20 timeout: The timeout in seconds.
21 """
22 self._start_time = time.time()
23 self._timeout = timeout
24
25 def Reset(self):
26 """Resets the timeout countdown."""
27 self._start_time = time.time()
28
29 def IsTimedOut(self):
30 """Whether the watchdog has timed out.
31
32 Returns:
33 True if the watchdog has timed out, False otherwise.
34 """
35 return time.time() - self._start_time > self._timeout
36
37
38 class MockWatchdog(Watchdog):
39 """A watchdog which never times out."""
40
41 #override
42 def __init__(self, timeout=0):
43 super(MockWatchdog, self).__init__(timeout)
44
45 #override
46 def IsTimedOut(self):
47 return False
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698