| Index: ipc/mojo/ipc_message_pipe_reader.cc
 | 
| diff --git a/ipc/mojo/ipc_message_pipe_reader.cc b/ipc/mojo/ipc_message_pipe_reader.cc
 | 
| index d40d6e2b228e631d9634167037f871578d71454a..61b36f6f384531dd68e0d7358f59889e5dca00d0 100644
 | 
| --- a/ipc/mojo/ipc_message_pipe_reader.cc
 | 
| +++ b/ipc/mojo/ipc_message_pipe_reader.cc
 | 
| @@ -161,9 +161,8 @@
 | 
|      // If can fail with |MOJO_RESULT_ALREADY_EXISTS| otherwise.
 | 
|      // Also, we don't use MOJO_HANDLE_SIGNAL_WRITABLE here, expecting buffer in
 | 
|      // MessagePipe.
 | 
| -    MojoResult result = async_waiter_->Wait(
 | 
| -        pipe_.get().value(),
 | 
| -        MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED);
 | 
| +    MojoResult result =
 | 
| +        async_waiter_->Wait(pipe_.get().value(), MOJO_HANDLE_SIGNAL_READABLE);
 | 
|      // If the result is |MOJO_RESULT_ALREADY_EXISTS|, there could be messages
 | 
|      // that have been arrived after the last |ReadAvailableMessages()|.
 | 
|      // We have to consume then and retry in that case.
 | 
| @@ -181,9 +180,13 @@
 | 
|  
 | 
|  void MessagePipeReader::PipeIsReady(MojoResult wait_result) {
 | 
|    if (wait_result != MOJO_RESULT_OK) {
 | 
| -    CHECK_NE(wait_result, MOJO_RESULT_ABORTED);
 | 
| -    LOG(ERROR) << "Pipe got error from the waiter. Closing: " << wait_result;
 | 
| -    OnPipeError(wait_result);
 | 
| +    if (wait_result != MOJO_RESULT_ABORTED) {
 | 
| +      // FAILED_PRECONDITION happens every time the peer is dead so
 | 
| +      // it isn't worth polluting the log message.
 | 
| +      LOG_IF(WARNING, wait_result != MOJO_RESULT_FAILED_PRECONDITION)
 | 
| +          << "Pipe got error from the waiter. Closing: " << wait_result;
 | 
| +      OnPipeError(wait_result);
 | 
| +    }
 | 
|  
 | 
|      Close();
 | 
|      return;
 | 
| 
 |