[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

aroben at apple.com aroben at apple.com
Wed Dec 22 11:23:53 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit d2e185efed0eecfadb6d9786c5f486011b37ca15
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jul 21 20:54:30 2010 +0000

    Handle broken pipes in more places in CoreIPC
    
    Fixes <http://webkit.org/b/42784> Assertion failure in
    Connection::readEventHandler when WebKitTestRunner exits
    
    Reviewed by Anders Carlsson.
    
    * Platform/CoreIPC/win/ConnectionWin.cpp:
    (CoreIPC::Connection::readEventHandler): Check for a broken pipe
    whenever we call ::PeekNamedPipe.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63855 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 36c11d5..a0dab19 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,18 @@
 2010-07-21  Adam Roben  <aroben at apple.com>
 
+        Handle broken pipes in more places in CoreIPC
+
+        Fixes <http://webkit.org/b/42784> Assertion failure in
+        Connection::readEventHandler when WebKitTestRunner exits
+
+        Reviewed by Anders Carlsson.
+
+        * Platform/CoreIPC/win/ConnectionWin.cpp:
+        (CoreIPC::Connection::readEventHandler): Check for a broken pipe
+        whenever we call ::PeekNamedPipe.
+
+2010-07-21  Adam Roben  <aroben at apple.com>
+
         Teach CoreIPC how to handle messages that are larger than the pipe's
         buffer
 
diff --git a/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp b/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp
index fd7da18..c153f70 100644
--- a/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp
+++ b/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp
@@ -124,6 +124,10 @@ void Connection::readEventHandler()
                 DWORD bytesToRead = 0;
                 if (!::PeekNamedPipe(m_connectionPipe, 0, 0, 0, 0, &bytesToRead)) {
                     DWORD error = ::GetLastError();
+                    if (error == ERROR_BROKEN_PIPE) {
+                        connectionDidClose();
+                        return;
+                    }
                     ASSERT_NOT_REACHED();
                     return;
                 }
@@ -174,6 +178,10 @@ void Connection::readEventHandler()
         DWORD bytesToRead = 0;
         if (!::PeekNamedPipe(m_connectionPipe, 0, 0, 0, 0, &bytesToRead)) {
             DWORD error = ::GetLastError();
+            if (error == ERROR_BROKEN_PIPE) {
+                connectionDidClose();
+                return;
+            }
             ASSERT_NOT_REACHED();
         }
         if (!bytesToRead) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list