diff options
author | davidben <davidben@chromium.org> | 2015-06-16 16:06:57 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-16 23:09:23 +0000 |
commit | b14c7c88854126a53fd58d4433cdf269f4059478 (patch) | |
tree | 65c7aa67765a2f270f1495868a9e2428d34272c9 /crypto | |
parent | c4d566d2e08b7ec74bba484676a9b408d3866c42 (diff) | |
download | chromium_src-b14c7c88854126a53fd58d4433cdf269f4059478.zip chromium_src-b14c7c88854126a53fd58d4433cdf269f4059478.tar.gz chromium_src-b14c7c88854126a53fd58d4433cdf269f4059478.tar.bz2 |
Prune OpenSSLInitSingleton.
The destructor is unnecessary since it leaks anyway. Also don't bother setting
up error strings or locking callbacks. Error strings require no setup in
BoringSSL, and the threading callbacks are never called in favor of internal
pthreads logic.
BUG=none
Review URL: https://codereview.chromium.org/1192493002
Cr-Commit-Position: refs/heads/master@{#334735}
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/openssl_util.cc | 35 |
1 files changed, 1 insertions, 34 deletions
diff --git a/crypto/openssl_util.cc b/crypto/openssl_util.cc index 964d83b..d89857f 100644 --- a/crypto/openssl_util.cc +++ b/crypto/openssl_util.cc @@ -9,10 +9,8 @@ #include <openssl/cpu.h> #include "base/logging.h" -#include "base/memory/scoped_vector.h" #include "base/memory/singleton.h" #include "base/strings/string_piece.h" -#include "base/synchronization/lock.h" #include "build/build_config.h" #if defined(OS_ANDROID) && defined(ARCH_CPU_ARMEL) @@ -24,11 +22,6 @@ namespace crypto { namespace { -void CurrentThreadId(CRYPTO_THREADID* id) { - CRYPTO_THREADID_set_numeric( - id, static_cast<unsigned long>(base::PlatformThread::CurrentId())); -} - // Singleton for initializing and cleaning up the OpenSSL library. class OpenSSLInitSingleton { public: @@ -60,36 +53,10 @@ class OpenSSLInitSingleton { CRYPTO_set_NEON_functional(!cpu.has_broken_neon()); #endif - SSL_load_error_strings(); SSL_library_init(); - int num_locks = CRYPTO_num_locks(); - locks_.reserve(num_locks); - for (int i = 0; i < num_locks; ++i) - locks_.push_back(new base::Lock()); - CRYPTO_set_locking_callback(LockingCallback); - CRYPTO_THREADID_set_callback(CurrentThreadId); - } - - ~OpenSSLInitSingleton() { - CRYPTO_set_locking_callback(NULL); - EVP_cleanup(); - ERR_free_strings(); - } - - static void LockingCallback(int mode, int n, const char* file, int line) { - OpenSSLInitSingleton::GetInstance()->OnLockingCallback(mode, n, file, line); - } - - void OnLockingCallback(int mode, int n, const char* file, int line) { - CHECK_LT(static_cast<size_t>(n), locks_.size()); - if (mode & CRYPTO_LOCK) - locks_[n]->Acquire(); - else - locks_[n]->Release(); } - // These locks are used and managed by OpenSSL via LockingCallback(). - ScopedVector<base::Lock> locks_; + ~OpenSSLInitSingleton() {} DISALLOW_COPY_AND_ASSIGN(OpenSSLInitSingleton); }; |