| Index: chrome/common/ipc_channel_posix.cc
|
| diff --git a/chrome/common/ipc_channel_posix.cc b/chrome/common/ipc_channel_posix.cc
|
| index 5080dd60a5833bf6d27f5eb08a8cdc77c363a5a2..a9a81a0f67737a513cc873aa16ef26a770c54a04 100644
|
| --- a/chrome/common/ipc_channel_posix.cc
|
| +++ b/chrome/common/ipc_channel_posix.cc
|
| @@ -607,6 +607,13 @@ bool Channel::ChannelImpl::ProcessOutgoingMessages() {
|
| msg->file_descriptor_set()->CommitAll();
|
|
|
| if (bytes_written < 0 && errno != EAGAIN) {
|
| +#if defined(OS_MACOSX)
|
| + // On OSX writing to a pipe with no listener returns EPERM.
|
| + if (errno == EPERM) {
|
| + Close();
|
| + return false;
|
| + }
|
| +#endif // OS_MACOSX
|
| LOG(ERROR) << "pipe error: " << strerror(errno);
|
| return false;
|
| }
|
|
|