diff options
author | Glenn Kasten <gkasten@google.com> | 2011-07-15 09:23:33 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-07-15 09:23:33 -0700 |
commit | 2aa6c4b515d4bea0c0de53d6de5caeaca0964178 (patch) | |
tree | c2536b48413648df94d7db51fd2abf132b507800 /media | |
parent | 600449c6c86c588f347245e13f8529073743bcbf (diff) | |
parent | 2c751a8416b5941b94171bab685505ae553ac16c (diff) | |
download | frameworks_base-2aa6c4b515d4bea0c0de53d6de5caeaca0964178.zip frameworks_base-2aa6c4b515d4bea0c0de53d6de5caeaca0964178.tar.gz frameworks_base-2aa6c4b515d4bea0c0de53d6de5caeaca0964178.tar.bz2 |
Merge "Bug 5031179 possible fix for assert in join"
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/omx/OMX.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/media/libstagefright/omx/OMX.cpp b/media/libstagefright/omx/OMX.cpp index 25f30d6..bc24dbb 100644 --- a/media/libstagefright/omx/OMX.cpp +++ b/media/libstagefright/omx/OMX.cpp @@ -96,9 +96,14 @@ OMX::CallbackDispatcher::~CallbackDispatcher() { mQueueChanged.signal(); } - // Don't call join on myself + // A join on self can happen if the last ref to CallbackDispatcher + // is released within the CallbackDispatcherThread loop status_t status = mThread->join(); - CHECK(status == NO_ERROR); + if (status != WOULD_BLOCK) { + // Other than join to self, the only other error return codes are + // whatever readyToRun() returns, and we don't override that + CHECK_EQ(status, NO_ERROR); + } } void OMX::CallbackDispatcher::post(const omx_message &msg) { |