diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_channel_posix.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ipc/ipc_channel_posix.cc b/ipc/ipc_channel_posix.cc index d6fa473..5800f92 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; } |