diff options
author | John Reck <jreck@google.com> | 2014-07-23 14:54:04 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2014-07-23 22:28:44 +0000 |
commit | 73b7a4db4116774156fda3a510cc3afa14be9ffd (patch) | |
tree | 928ca1b91bd9e5e8d88ce58069a6d0027d37f965 /libs/hwui/renderthread/RenderThread.h | |
parent | df8f55948a20a0f1673274ea904eeaf8031c7d57 (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.h | 6 |
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; |