Changeset 64224 in webkit


Ignore:
Timestamp:
Jul 28, 2010 12:54:31 PM (14 years ago)
Author:
Adam Roben
Message:

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.

Location:
trunk/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r64223 r64224  
     12010-07-28  Adam Roben  <aroben@apple.com>
     2
     3        Teach CoreIPC how to handle with a pipe closing during a write
     4
     5        Fixes <http://webkit.org/b/43131> Assertion failure in
     6        Connection::sendOutgoingMessage if the other process exits at just the
     7        wrong time
     8
     9        Reviewed by Darin Adler.
     10
     11        * Platform/CoreIPC/win/ConnectionWin.cpp:
     12        (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
     13        ERROR_NO_DATA, the pipe (and thus the connection) has closed.
     14
    1152010-07-28  Adam Roben  <aroben@apple.com>
    216
  • trunk/WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp

    r64223 r64224  
    312312
    313313    DWORD error = ::GetLastError();
     314
     315    if (error == ERROR_NO_DATA) {
     316        // The pipe is being closed.
     317        connectionDidClose();
     318        return false;
     319    }
     320
    314321    if (error != ERROR_IO_PENDING) {
    315322        ASSERT_NOT_REACHED();
Note: See TracChangeset for help on using the changeset viewer.