diff options
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/threads_none.c')
-rw-r--r-- | Cryptlib/OpenSSL/crypto/threads_none.c | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/Cryptlib/OpenSSL/crypto/threads_none.c b/Cryptlib/OpenSSL/crypto/threads_none.c deleted file mode 100644 index 72bf25b0..00000000 --- a/Cryptlib/OpenSSL/crypto/threads_none.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#include <openssl/crypto.h> - -#if !defined(OPENSSL_THREADS) || defined(CRYPTO_TDEBUG) - -CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) -{ - CRYPTO_RWLOCK *lock = OPENSSL_zalloc(sizeof(unsigned int)); - if (lock == NULL) - return NULL; - - *(unsigned int *)lock = 1; - - return lock; -} - -int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) -{ - OPENSSL_assert(*(unsigned int *)lock == 1); - return 1; -} - -int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) -{ - OPENSSL_assert(*(unsigned int *)lock == 1); - return 1; -} - -int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) -{ - OPENSSL_assert(*(unsigned int *)lock == 1); - return 1; -} - -void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock) { - if (lock == NULL) - return; - - *(unsigned int *)lock = 0; - OPENSSL_free(lock); - - return; -} - -int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)) -{ - if (*once != 0) - return 1; - - init(); - *once = 1; - - return 1; -} - -#define OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX 256 - -static void *thread_local_storage[OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX]; - -int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) -{ - static unsigned int thread_local_key = 0; - - if (thread_local_key >= OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX) - return 0; - - *key = thread_local_key++; - - thread_local_storage[*key] = NULL; - - return 1; -} - -void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key) -{ - if (*key >= OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX) - return NULL; - - return thread_local_storage[*key]; -} - -int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val) -{ - if (*key >= OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX) - return 0; - - thread_local_storage[*key] = val; - - return 1; -} - -int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key) -{ - *key = OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX + 1; - return 1; -} - -CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void) -{ - return 0; -} - -int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b) -{ - return (a == b); -} - -int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock) -{ - *val += amount; - *ret = *val; - - return 1; -} - -#endif |