summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/common/ipc_channel_posix.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/common/ipc_channel_posix.cc b/chrome/common/ipc_channel_posix.cc
index 72a1c37..5080dd6 100644
--- a/chrome/common/ipc_channel_posix.cc
+++ b/chrome/common/ipc_channel_posix.cc
@@ -376,6 +376,13 @@ bool Channel::ChannelImpl::ProcessIncomingMessages() {
if (bytes_read < 0) {
if (errno == EAGAIN) {
return true;
+#if defined(OS_MACOSX)
+ } else if (errno == EPERM) {
+ // On OSX, reading from a pipe with no listener returns EPERM
+ // treat this as a special case to prevent spurious error messages
+ // to the console.
+ return false;
+#endif // defined(OS_MACOSX)
} else {
LOG(ERROR) << "pipe error (" << pipe_ << "): " << strerror(errno);
return false;