[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:32:21 UTC 2010


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

    Teach CoreIPC how to handle with a pipe closing during a write
    
    Fixes <http://webkit.org/b/43131> Assertion failure in
    Connection::sendOutgoingMessage if the other process exits at just the
    wrong time
    
    Reviewed by Darin Adler.
    
    * Platform/CoreIPC/win/ConnectionWin.cpp:
    (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
    ERROR_NO_DATA, the pipe (and thus the connection) has closed.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 7440234..c654e1c 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,19 @@
 2010-07-28  Adam Roben  <aroben at apple.com>
 
+        Teach CoreIPC how to handle with a pipe closing during a write
+
+        Fixes <http://webkit.org/b/43131> Assertion failure in
+        Connection::sendOutgoingMessage if the other process exits at just the
+        wrong time
+
+        Reviewed by Darin Adler.
+
+        * Platform/CoreIPC/win/ConnectionWin.cpp:
+        (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
+        ERROR_NO_DATA, the pipe (and thus the connection) has closed.
+
+2010-07-28  Adam Roben  <aroben at apple.com>
+
         Teach CoreIPC the right way to send large messages on Windows
 
         r63776 added support for ::WriteFile failing with ERROR_IO_PENDING,
diff --git a/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp b/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp
index 73159ae..4519d1a 100644
--- a/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp
+++ b/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp
@@ -311,6 +311,13 @@ bool Connection::sendOutgoingMessage(MessageID messageID, PassOwnPtr<ArgumentEnc
     }
 
     DWORD error = ::GetLastError();
+
+    if (error == ERROR_NO_DATA) {
+        // The pipe is being closed.
+        connectionDidClose();
+        return false;
+    }
+
     if (error != ERROR_IO_PENDING) {
         ASSERT_NOT_REACHED();
         return false;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list