Skip to content
Permalink
Browse files
Teach Connection how to handle a slow receiver
Fixes <http://webkit.org/b/42667> Assertion in
Connection::sendOutgoingMessage when browser or web process is paused

Reviewed by Anders Carlsson.

* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::sendOutgoingMessage): If WriteFile returns FALSE
and the last error is ERROR_IO_PENDING, Windows will write the data as
soon as the current write operation is completed. We don't need to do
anything special in this case, so there's no need to assert about it.

Canonical link: https://commits.webkit.org/54614@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@63776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
aroben committed Jul 20, 2010
1 parent 999cbb6 commit de36c42839c87608816209c373fdb06f4fdcf62e
Showing with 20 additions and 0 deletions.
  1. +15 −0 WebKit2/ChangeLog
  2. +5 −0 WebKit2/Platform/CoreIPC/win/ConnectionWin.cpp
@@ -1,3 +1,18 @@
2010-07-20 Adam Roben <aroben@apple.com>

Teach Connection how to handle a slow receiver

Fixes <http://webkit.org/b/42667> Assertion in
Connection::sendOutgoingMessage when browser or web process is paused

Reviewed by Anders Carlsson.

* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::sendOutgoingMessage): If WriteFile returns FALSE
and the last error is ERROR_IO_PENDING, Windows will write the data as
soon as the current write operation is completed. We don't need to do
anything special in this case, so there's no need to assert about it.

2010-07-20 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.
@@ -215,6 +215,11 @@ void Connection::sendOutgoingMessage(MessageID messageID, PassOwnPtr<ArgumentEnc
}

DWORD error = ::GetLastError();
if (error == ERROR_IO_PENDING) {
// The message will be sent soon.
return;
}

ASSERT_NOT_REACHED();
}

0 comments on commit de36c42

Please sign in to comment.