summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authordavidben <davidben@chromium.org>2015-06-16 16:06:57 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-16 23:09:23 +0000
commitb14c7c88854126a53fd58d4433cdf269f4059478 (patch)
tree65c7aa67765a2f270f1495868a9e2428d34272c9 /crypto
parentc4d566d2e08b7ec74bba484676a9b408d3866c42 (diff)
downloadchromium_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.cc35
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);
};