summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2011-08-22 16:46:13 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-08-22 16:46:13 -0700
commit377f79007646131d8b91f685c89cb49abec5a996 (patch)
tree3dcc1b1c8c94096bf5477216b578aa8b5a2cabc0 /Source
parented38269b68d46d6aaa137dea8c022bc7f9c4996d (diff)
parent99722bcc8d0f9fcde19f6dfaab330c44326e4638 (diff)
downloadexternal_webkit-377f79007646131d8b91f685c89cb49abec5a996.zip
external_webkit-377f79007646131d8b91f685c89cb49abec5a996.tar.gz
external_webkit-377f79007646131d8b91f685c89cb49abec5a996.tar.bz2
Merge "Avoid the lock when dealing with Surface Texture"
Diffstat (limited to 'Source')
-rw-r--r--Source/WebCore/platform/graphics/android/TransferQueue.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/WebCore/platform/graphics/android/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/TransferQueue.cpp
index 00c9e68..851d02c 100644
--- a/Source/WebCore/platform/graphics/android/TransferQueue.cpp
+++ b/Source/WebCore/platform/graphics/android/TransferQueue.cpp
@@ -288,10 +288,9 @@ void TransferQueue::updateDirtyBaseTiles()
void TransferQueue::updateQueueWithBitmap(const TileRenderInfo* renderInfo,
int x, int y, const SkBitmap& bitmap)
{
- android::Mutex::Autolock lock(m_transferQueueItemLocks);
-
+ m_transferQueueItemLocks.lock();
bool ready = readyForUpdate();
-
+ m_transferQueueItemLocks.unlock();
if (!ready) {
XLOG("Quit bitmap update: not ready! for tile x y %d %d",
renderInfo->x, renderInfo->y);
@@ -333,9 +332,10 @@ void TransferQueue::updateQueueWithBitmap(const TileRenderInfo* renderInfo,
}
ANativeWindow_unlockAndPost(m_ANW.get());
-
+ m_transferQueueItemLocks.lock();
// b) After update the Surface Texture, now udpate the transfer queue info.
addItemInTransferQueue(renderInfo);
+ m_transferQueueItemLocks.unlock();
XLOG("Bitmap updated x, y %d %d, baseTile %p",
renderInfo->x, renderInfo->y, renderInfo->baseTile);
}