Index: net/socket/ssl_client_socket_openssl.cc |
diff --git a/net/socket/ssl_client_socket_openssl.cc b/net/socket/ssl_client_socket_openssl.cc |
index 06b57ba23dcfa29ba62d0936183b465d2a2720e0..dd1083efb2567c35f4bc8238319ab79715168646 100644 |
--- a/net/socket/ssl_client_socket_openssl.cc |
+++ b/net/socket/ssl_client_socket_openssl.cc |
@@ -16,6 +16,7 @@ |
#include "base/memory/singleton.h" |
#include "base/metrics/histogram.h" |
#include "base/synchronization/lock.h" |
+#include "base/thread_task_runner_handle.h" |
#include "crypto/ec_private_key.h" |
#include "crypto/openssl_util.h" |
#include "net/base/net_errors.h" |
@@ -395,7 +396,7 @@ void SSLClientSocketOpenSSL::SetIsLeader() { |
void SSLClientSocketOpenSSL::OnSocketFailure() { |
if (is_leader_) { |
- error_callback_.Run(); |
+ base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, error_callback_); |
wtc
2014/07/11 18:55:51
IMPORTANT: Based on my understanding of the code,
mshelley
2014/07/14 20:30:06
Done.
|
error_callback_ = base::Closure(); |
is_leader_ = false; |
} |