| Index: ipc/ipc_channel_posix.cc
|
| diff --git a/ipc/ipc_channel_posix.cc b/ipc/ipc_channel_posix.cc
|
| index d6fa4735f721f09c4092e22c79d602f32f52be66..5800f928d145ee34931c477fde71cf296e4e3dd3 100644
|
| --- a/ipc/ipc_channel_posix.cc
|
| +++ b/ipc/ipc_channel_posix.cc
|
| @@ -447,7 +447,7 @@ bool Channel::ChannelImpl::ProcessIncomingMessages() {
|
| // to the console.
|
| return false;
|
| #endif // defined(OS_MACOSX)
|
| - } else if (errno == ECONNRESET) {
|
| + } else if (errno == ECONNRESET || errno == EPIPE) {
|
| return false;
|
| } else {
|
| PLOG(ERROR) << "pipe error (" << pipe_ << ")";
|
| @@ -812,6 +812,10 @@ bool Channel::ChannelImpl::ProcessOutgoingMessages() {
|
| return false;
|
| }
|
| #endif // OS_MACOSX
|
| + if (errno == EPIPE) {
|
| + Close();
|
| + return false;
|
| + }
|
| PLOG(ERROR) << "pipe error on " << fd_written;
|
| return false;
|
| }
|
|
|