[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

ukai at chromium.org ukai at chromium.org
Thu Apr 8 01:04:23 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 16525e4d62b95f683611c248ec6287ef921ccf88
Author: ukai at chromium.org <ukai at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 14 02:23:08 2010 +0000

    2010-01-13  Fumitoshi Ukai  <ukai at chromium.org>
    
            Reviewed by David Levin.
    
            Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
            https://bugs.webkit.org/show_bug.cgi?id=33581
    
            unref m_workerContext when websocket is disconnected, so that avoid
            keeping reference to workerContext longer than worker thread runs.
    
            * websockets/WorkerThreadableWebSocketChannel.cpp:
            (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
            (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 037556b..e2feca7 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-01-13  Fumitoshi Ukai  <ukai at chromium.org>
+
+        Reviewed by David Levin.
+
+        Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
+        https://bugs.webkit.org/show_bug.cgi?id=33581
+
+        unref m_workerContext when websocket is disconnected, so that avoid
+        keeping reference to workerContext longer than worker thread runs.
+
+        * websockets/WorkerThreadableWebSocketChannel.cpp:
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
+        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
+
 2010-01-12  Jon Honeycutt  <jhoneycutt at apple.com>
 
         MSAA: selected, selectable, extended selectable, and multiple
diff --git a/WebCore/websockets/WorkerThreadableWebSocketChannel.cpp b/WebCore/websockets/WorkerThreadableWebSocketChannel.cpp
index 6f45b53..de2906e 100644
--- a/WebCore/websockets/WorkerThreadableWebSocketChannel.cpp
+++ b/WebCore/websockets/WorkerThreadableWebSocketChannel.cpp
@@ -330,6 +330,7 @@ void WorkerThreadableWebSocketChannel::Bridge::disconnect()
         m_peer = 0;
         m_loaderProxy.postTaskToLoader(createCallbackTask(&mainThreadDestroy, peer));
     }
+    m_workerContext = 0;
 }
 
 void WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper()
@@ -345,6 +346,8 @@ void WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted()
 
 void WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion()
 {
+    if (!m_workerContext)
+        return;
     WorkerRunLoop& runLoop = m_workerContext->thread()->runLoop();
     MessageQueueWaitResult result = MessageQueueMessageReceived;
     ThreadableWebSocketChannelClientWrapper* clientWrapper = static_cast<ThreadableWebSocketChannelClientWrapper*>(m_workerClientWrapper.get());

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list