Loading include/utils/Condition.h +13 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,11 @@ public: SHARED = 1 }; enum WakeUpType { WAKE_UP_ONE = 0, WAKE_UP_ALL = 1 }; Condition(); Condition(int type); ~Condition(); Loading @@ -57,6 +62,14 @@ public: status_t waitRelative(Mutex& mutex, nsecs_t reltime); // Signal the condition variable, allowing one thread to continue. void signal(); // Signal the condition variable, allowing one or all threads to continue. void signal(WakeUpType type) { if (type == WAKE_UP_ONE) { signal(); } else { broadcast(); } } // Signal the condition variable, allowing all threads to continue. void broadcast(); Loading include/utils/Thread.h +3 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,9 @@ public: // Do not call from this object's thread; will return WOULD_BLOCK in that case. status_t join(); // Indicates whether this thread is running or not. bool isRunning() const; #ifdef HAVE_ANDROID_OS // Return the thread's kernel ID, same as the thread itself calling gettid() or // androidGetTid(), or -1 if the thread is not running. Loading libs/utils/Threads.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -875,6 +875,11 @@ status_t Thread::join() return mStatus; } bool Thread::isRunning() const { Mutex::Autolock _l(mLock); return mRunning; } #ifdef HAVE_ANDROID_OS pid_t Thread::getTid() const { Loading Loading
include/utils/Condition.h +13 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,11 @@ public: SHARED = 1 }; enum WakeUpType { WAKE_UP_ONE = 0, WAKE_UP_ALL = 1 }; Condition(); Condition(int type); ~Condition(); Loading @@ -57,6 +62,14 @@ public: status_t waitRelative(Mutex& mutex, nsecs_t reltime); // Signal the condition variable, allowing one thread to continue. void signal(); // Signal the condition variable, allowing one or all threads to continue. void signal(WakeUpType type) { if (type == WAKE_UP_ONE) { signal(); } else { broadcast(); } } // Signal the condition variable, allowing all threads to continue. void broadcast(); Loading
include/utils/Thread.h +3 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,9 @@ public: // Do not call from this object's thread; will return WOULD_BLOCK in that case. status_t join(); // Indicates whether this thread is running or not. bool isRunning() const; #ifdef HAVE_ANDROID_OS // Return the thread's kernel ID, same as the thread itself calling gettid() or // androidGetTid(), or -1 if the thread is not running. Loading
libs/utils/Threads.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -875,6 +875,11 @@ status_t Thread::join() return mStatus; } bool Thread::isRunning() const { Mutex::Autolock _l(mLock); return mRunning; } #ifdef HAVE_ANDROID_OS pid_t Thread::getTid() const { Loading