diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-13 23:01:55 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-13 23:01:55 +0000 |
commit | 087e666a6def2dbc38c3da8da05ec2c936111981 (patch) | |
tree | 5f3fa4e186ee3d2b663ad7d03d54d3ad40ce41ed /net/ocsp | |
parent | dbd327e9f5c005b88ff67c9275c03ffc8217fc5c (diff) | |
download | chromium_src-087e666a6def2dbc38c3da8da05ec2c936111981.zip chromium_src-087e666a6def2dbc38c3da8da05ec2c936111981.tar.gz chromium_src-087e666a6def2dbc38c3da8da05ec2c936111981.tar.bz2 |
Revert r59289: "Eagerly set the IO loop used for OCSP."
eroman caught a race in it.
BUG=36740
TEST=none
Review URL: http://codereview.chromium.org/3376005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59299 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/ocsp')
-rw-r--r-- | net/ocsp/nss_ocsp.cc | 45 | ||||
-rw-r--r-- | net/ocsp/nss_ocsp.h | 5 |
2 files changed, 3 insertions, 47 deletions
diff --git a/net/ocsp/nss_ocsp.cc b/net/ocsp/nss_ocsp.cc index 28d2d1a..bd6a70b 100644 --- a/net/ocsp/nss_ocsp.cc +++ b/net/ocsp/nss_ocsp.cc @@ -17,7 +17,6 @@ #include "base/condition_variable.h" #include "base/histogram.h" #include "base/logging.h" -#include "base/lock.h" #include "base/message_loop.h" #include "base/singleton.h" #include "base/string_util.h" @@ -33,15 +32,6 @@ namespace { -// Protects |g_io_loop| and |g_io_loop_used|. -static Lock g_io_loop_lock; - -// The io loop used for OCSP. Read only during OCSPInitSingleton's constructor. -MessageLoopForIO* g_io_loop = NULL; -// |g_io_loop_used| is set to true after read by OCSPInitSingleton's -// constructor. -bool g_io_loop_used = false; - const int kRecvBufferSize = 4096; // All OCSP handlers should be called in the context of @@ -110,13 +100,6 @@ class OCSPInitSingleton : public MessageLoop::DestructionObserver { OCSPInitSingleton() : io_loop_(MessageLoopForIO::current()) { - { - AutoLock lock(g_io_loop_lock); - DCHECK(!g_io_loop_used); - g_io_loop_used = true; - if (g_io_loop) - io_loop_ = g_io_loop; - } DCHECK(io_loop_); io_loop_->AddDestructionObserver(this); @@ -158,16 +141,9 @@ class OCSPInitSingleton : public MessageLoop::DestructionObserver { virtual ~OCSPInitSingleton() { // IO thread was already deleted before the singleton is deleted // in AtExitManager. - { - AutoLock autolock(lock_); - DCHECK(!io_loop_); - DCHECK(!request_context_); - } - { - AutoLock lock(g_io_loop_lock); - g_io_loop_used = false; - g_io_loop = NULL; - } + AutoLock autolock(lock_); + DCHECK(!io_loop_); + DCHECK(!request_context_); } SEC_HttpClientFcn client_fcn_; @@ -806,21 +782,6 @@ char* GetAlternateOCSPAIAInfo(CERTCertificate *cert) { namespace net { -void SetMessageLoopForOCSP(MessageLoopForIO* message_loop) { - DCHECK(message_loop); - AutoLock lock(g_io_loop_lock); - if (g_io_loop) { - LOG(DFATAL) << "Setting OCSP message loop more than once!"; - return; - } - if (g_io_loop_used) { - LOG(DFATAL) << "Tried to set message loop for OCSP after " - << "it's already been used by OCSPInitSingleton!"; - return; - } - g_io_loop = message_loop; -} - void EnsureOCSPInit() { Singleton<OCSPInitSingleton>::get(); } diff --git a/net/ocsp/nss_ocsp.h b/net/ocsp/nss_ocsp.h index 5dec05c..a31d025 100644 --- a/net/ocsp/nss_ocsp.h +++ b/net/ocsp/nss_ocsp.h @@ -6,15 +6,10 @@ #define NET_OCSP_NSS_OCSP_H_ #pragma once -class MessageLoopForIO; class URLRequestContext; namespace net { -// Sets the MessageLoop for OCSP. This should be called before EnsureOCSPInit() -// if you want to control the message loop for OCSP. -void SetMessageLoopForOCSP(MessageLoopForIO* message_loop); - // Initializes OCSP handlers for NSS. This must be called before any // certificate verification functions. This function is thread-safe, and OCSP // handlers will only ever be initialized once. |