Dump RenderThread stack on unresponsive

 Bug: 16408405

Change-Id: I4ba4836fd1451fb8ba77c34cdb843d3cb4217bb8
diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h
index 0b91e9d..5984373 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 @@
     // 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 @@
     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;