Index: mojo/edk/system/message_pipe_dispatcher.cc |
diff --git a/mojo/edk/system/message_pipe_dispatcher.cc b/mojo/edk/system/message_pipe_dispatcher.cc |
index 119124a424109864b85a280ad2b5c8035aa19f72..11dc586ceec90dfdfcf061466f94d8d75a526107 100644 |
--- a/mojo/edk/system/message_pipe_dispatcher.cc |
+++ b/mojo/edk/system/message_pipe_dispatcher.cc |
@@ -986,6 +986,10 @@ void MessagePipeDispatcher::OnError(Error error) { |
// Balance AddRef in CloseOnIO. |
call_release = true; |
} |
+ } else if (!channel_ && !transferable_ && |
+ non_transferable_state_ == WAITING_FOR_CONNECT_TO_CLOSE) { |
+ // Balance AddRef in CloseOnIO. |
+ call_release = true; |
} |
awakable_list_.AwakeForStateChange(GetHandleSignalsStateImplNoLock()); |
started_transport_.Release(); |