summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/RenderThread.h
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-07-23 14:54:04 -0700
committerJohn Reck <jreck@google.com>2014-07-23 22:28:44 +0000
commit73b7a4db4116774156fda3a510cc3afa14be9ffd (patch)
tree928ca1b91bd9e5e8d88ce58069a6d0027d37f965 /libs/hwui/renderthread/RenderThread.h
parentdf8f55948a20a0f1673274ea904eeaf8031c7d57 (diff)
Dump RenderThread stack on unresponsive
Bug: 16408405 Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
Diffstat (limited to 'libs/hwui/renderthread/RenderThread.h')
-rw-r--r--libs/hwui/renderthread/RenderThread.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h
index 0b91e9dd97aa..59843736f048 100644
--- a/libs/hwui/renderthread/RenderThread.h
+++ b/libs/hwui/renderthread/RenderThread.h
@@ -23,6 +23,7 @@
#include <set>
#include <cutils/compiler.h>
+#include <utils/Condition.h>
#include <utils/Looper.h>
#include <utils/Mutex.h>
#include <utils/Singleton.h>
@@ -73,6 +74,7 @@ public:
// RenderThread takes complete ownership of tasks that are queued
// and will delete them after they are run
ANDROID_API void queue(RenderTask* task);
+ void queueAndWait(RenderTask* task, Condition& signal, Mutex& lock);
ANDROID_API void queueAtFront(RenderTask* task);
void queueDelayed(RenderTask* task, int delayMs);
void remove(RenderTask* task);
@@ -106,11 +108,15 @@ private:
void dispatchFrameCallbacks();
void requestVsync();
+ // VERY DANGEROUS HANDLE WITH EXTREME CARE
+ void nukeFromOrbit();
+
// Returns the next task to be run. If this returns NULL nextWakeup is set
// to the time to requery for the nextTask to run. mNextWakeup is also
// set to this time
RenderTask* nextTask(nsecs_t* nextWakeup);
+ pthread_t mThreadId;
sp<Looper> mLooper;
Mutex mLock;