summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
Diffstat (limited to 'ipc')
-rw-r--r--ipc/ipc_channel_posix.cc6
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;
}