| Index: ipc/ipc_channel_win.cc
|
| diff --git a/ipc/ipc_channel_win.cc b/ipc/ipc_channel_win.cc
|
| index 05b9475a3487a627b196badd389e9a39a48a2b67..0a905a8ea5c1acf75edda250b90c3d55e0f013c2 100644
|
| --- a/ipc/ipc_channel_win.cc
|
| +++ b/ipc/ipc_channel_win.cc
|
| @@ -172,13 +172,17 @@ ChannelWin::ReadState ChannelWin::ReadData(
|
| return READ_PENDING;
|
| }
|
|
|
| -bool ChannelWin::WillDispatchInputMessage(Message* msg) {
|
| +bool ChannelWin::ShouldDispatchInputMessage(Message* msg) {
|
| // Make sure we get a hello when client validation is required.
|
| if (validate_client_)
|
| return IsHelloMessage(*msg);
|
| return true;
|
| }
|
|
|
| +bool ChannelWin::GetNonBrokeredAttachments(Message* msg) {
|
| + return true;
|
| +}
|
| +
|
| void ChannelWin::HandleInternalMessage(const Message& msg) {
|
| DCHECK_EQ(msg.type(), static_cast<unsigned>(Channel::HELLO_MESSAGE_TYPE));
|
| // The hello message contains one parameter containing the PID.
|
| @@ -470,17 +474,18 @@ void ChannelWin::OnIOCompleted(
|
| if (input_state_.is_pending) {
|
| // This is the normal case for everything except the initialization step.
|
| input_state_.is_pending = false;
|
| - if (!bytes_transfered)
|
| + if (!bytes_transfered) {
|
| ok = false;
|
| - else if (pipe_.IsValid())
|
| - ok = AsyncReadComplete(bytes_transfered);
|
| + } else if (pipe_.IsValid()) {
|
| + ok = (AsyncReadComplete(bytes_transfered) != DISPATCH_ERROR);
|
| + }
|
| } else {
|
| DCHECK(!bytes_transfered);
|
| }
|
|
|
| // Request more data.
|
| if (ok)
|
| - ok = ProcessIncomingMessages();
|
| + ok = (ProcessIncomingMessages() != DISPATCH_ERROR);
|
| } else {
|
| DCHECK(context == &output_state_.context);
|
| CHECK(output_state_.is_pending);
|
|
|