summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/socket_stream/socket_stream.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/socket_stream/socket_stream.cc b/net/socket_stream/socket_stream.cc
index 6a5285c..7227fe9 100644
--- a/net/socket_stream/socket_stream.cc
+++ b/net/socket_stream/socket_stream.cc
@@ -112,7 +112,8 @@ void SocketStream::Connect() {
"The current MessageLoop must exist";
DCHECK_EQ(MessageLoop::TYPE_IO, MessageLoop::current()->type()) <<
"The current MessageLoop must be TYPE_IO";
- ssl_config_service()->GetSSLConfig(&ssl_config_);
+ if (context_)
+ ssl_config_service()->GetSSLConfig(&ssl_config_);
DCHECK_EQ(next_state_, STATE_NONE);
AddRef(); // Released in Finish()
@@ -327,6 +328,10 @@ void SocketStream::OnWriteCompleted(int result) {
}
void SocketStream::DoLoop(int result) {
+ // If context was not set, close immediately.
+ if (!context_)
+ next_state_ = STATE_CLOSE;
+
if (next_state_ == STATE_NONE)
return;