7 #include <openssl/crypto.h>
8 #include <openssl/rand.h>
16 #ifdef CVMFS_NAMESPACE_GUARD
17 namespace CVMFS_NAMESPACE_GUARD {
20 #ifndef OPENSSL_API_INTERFACE_V11
29 if (mode & CRYPTO_LOCK) {
30 retval = pthread_mutex_lock(&(gLibcryptoLocks[type]));
32 retval = pthread_mutex_unlock(&(gLibcryptoLocks[type]));
49 #ifndef OPENSSL_API_INTERFACE_V11
54 OPENSSL_malloc(CRYPTO_num_locks() *
sizeof(pthread_mutex_t)));
55 for (
int i = 0; i < CRYPTO_num_locks(); ++i) {
67 #ifndef OPENSSL_API_INTERFACE_V11
71 CRYPTO_set_locking_callback(NULL);
72 for (
int i = 0; i < CRYPTO_num_locks(); ++i)
80 #ifdef CVMFS_NAMESPACE_GUARD
CVMFS_EXPORT void InitRng()
static void CallbackLibcryptoLock(int mode, int type, const char *, int)
CVMFS_EXPORT void CleanupLibcryptoMt()
assert((mem||(size==0))&&"Out Of Memory")
static unsigned long CallbackLibcryptoThreadId()
CVMFS_EXPORT void SetupLibcryptoMt()
pthread_mutex_t * gLibcryptoLocks