Index: ipc/ipc_channel_posix.cc |
diff --git a/ipc/ipc_channel_posix.cc b/ipc/ipc_channel_posix.cc |
index a74178a694b99dbaf4e759e30e195461a29d30ef..bb8e83b4962e7593c05e12b2a5b8ad38049f7409 100644 |
--- a/ipc/ipc_channel_posix.cc |
+++ b/ipc/ipc_channel_posix.cc |
@@ -522,7 +522,10 @@ bool Channel::ChannelImpl::Send(Message* message) { |
message->TraceMessageBegin(); |
output_queue_.push(message); |
if (!is_blocked_on_write_ && !waiting_connect_) { |
- return ProcessOutgoingMessages(); |
+ if (!ProcessOutgoingMessages()) { |
+ ClosePipeOnError(); |
+ return false; |
+ } |
} |
return true; |