Loading include/utils/threads.h +18 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,7 @@ inline thread_id_t getThreadId() { class Mutex { public: enum { NORMAL = 0, PRIVATE = 0, SHARED = 1 }; Loading Loading @@ -305,7 +305,13 @@ typedef Mutex::Autolock AutoMutex; */ class Condition { public: enum { PRIVATE = 0, SHARED = 1 }; Condition(); Condition(int type); ~Condition(); // Wait on the condition variable. Lock the mutex before calling. status_t wait(Mutex& mutex); Loading @@ -329,6 +335,17 @@ private: inline Condition::Condition() { pthread_cond_init(&mCond, NULL); } inline Condition::Condition(int type) { if (type == SHARED) { pthread_condattr_t attr; pthread_condattr_init(&attr); pthread_condattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); pthread_cond_init(&mCond, &attr); pthread_condattr_destroy(&attr); } else { pthread_cond_init(&mCond, NULL); } } inline Condition::~Condition() { pthread_cond_destroy(&mCond); } Loading libs/surfaceflinger_client/SharedBufferStack.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ namespace android { // ---------------------------------------------------------------------------- SharedClient::SharedClient() : lock(Mutex::SHARED) : lock(Mutex::SHARED), cv(Condition::SHARED) { } Loading Loading
include/utils/threads.h +18 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,7 @@ inline thread_id_t getThreadId() { class Mutex { public: enum { NORMAL = 0, PRIVATE = 0, SHARED = 1 }; Loading Loading @@ -305,7 +305,13 @@ typedef Mutex::Autolock AutoMutex; */ class Condition { public: enum { PRIVATE = 0, SHARED = 1 }; Condition(); Condition(int type); ~Condition(); // Wait on the condition variable. Lock the mutex before calling. status_t wait(Mutex& mutex); Loading @@ -329,6 +335,17 @@ private: inline Condition::Condition() { pthread_cond_init(&mCond, NULL); } inline Condition::Condition(int type) { if (type == SHARED) { pthread_condattr_t attr; pthread_condattr_init(&attr); pthread_condattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); pthread_cond_init(&mCond, &attr); pthread_condattr_destroy(&attr); } else { pthread_cond_init(&mCond, NULL); } } inline Condition::~Condition() { pthread_cond_destroy(&mCond); } Loading
libs/surfaceflinger_client/SharedBufferStack.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ namespace android { // ---------------------------------------------------------------------------- SharedClient::SharedClient() : lock(Mutex::SHARED) : lock(Mutex::SHARED), cv(Condition::SHARED) { } Loading