Index: net/socket/ssl_client_socket_nss.cc |
diff --git a/net/socket/ssl_client_socket_nss.cc b/net/socket/ssl_client_socket_nss.cc |
index 136f1380623c743d01c00da37b9885972b559112..324f50c94f381c459c9e9d6145e7e93d10e1d5b2 100644 |
--- a/net/socket/ssl_client_socket_nss.cc |
+++ b/net/socket/ssl_client_socket_nss.cc |
@@ -71,6 +71,7 @@ |
#include "base/string_number_conversions.h" |
#include "base/string_util.h" |
#include "base/stringprintf.h" |
+#include "base/thread_restrictions.h" |
#include "base/values.h" |
#include "net/base/address_list.h" |
#include "net/base/cert_status_flags.h" |
@@ -176,6 +177,11 @@ class NSSSSLInitSingleton { |
// thread-safe, and the NSS SSL library will only ever be initialized once. |
// The NSS SSL library will be properly shut down on program exit. |
void EnsureNSSSSLInit() { |
+ // Initializing SSL causes us to do blocking IO. |
+ // Temporarily allow it until we fix |
+ // http://code.google.com/p/chromium/issues/detail?id=59847 |
+ base::ThreadRestrictions::ScopedAllowIO allow_io; |
+ |
Singleton<NSSSSLInitSingleton>::get(); |
} |