diff options
author | deshevoy <deshevoy@yandex-team.ru> | 2022-02-10 16:46:56 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:56 +0300 |
commit | e988f30484abe5fdeedcc7a5d3c226c01a21800c (patch) | |
tree | 0a217b173aabb57b7e51f8a169989b1a3e0309fe /contrib/libs/openssl/crypto/threads_none.c | |
parent | 33ee501c05d3f24036ae89766a858930ae66c548 (diff) | |
download | ydb-e988f30484abe5fdeedcc7a5d3c226c01a21800c.tar.gz |
Restoring authorship annotation for <deshevoy@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/openssl/crypto/threads_none.c')
-rw-r--r-- | contrib/libs/openssl/crypto/threads_none.c | 270 |
1 files changed, 135 insertions, 135 deletions
diff --git a/contrib/libs/openssl/crypto/threads_none.c b/contrib/libs/openssl/crypto/threads_none.c index aaaaae872a..78623df6e6 100644 --- a/contrib/libs/openssl/crypto/threads_none.c +++ b/contrib/libs/openssl/crypto/threads_none.c @@ -1,143 +1,143 @@ -/* +/* * Copyright 2016-2019 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> -#include "internal/cryptlib.h" - -#if !defined(OPENSSL_THREADS) || defined(CRYPTO_TDEBUG) - + * + * 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> +#include "internal/cryptlib.h" + +#if !defined(OPENSSL_THREADS) || defined(CRYPTO_TDEBUG) + # if defined(OPENSSL_SYS_UNIX) # include <sys/types.h> # include <unistd.h> # endif -CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) -{ - CRYPTO_RWLOCK *lock; - - if ((lock = OPENSSL_zalloc(sizeof(unsigned int))) == NULL) { - /* Don't set error, to avoid recursion blowup. */ - return NULL; - } - - *(unsigned int *)lock = 1; - - return lock; -} - -int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) -{ - if (!ossl_assert(*(unsigned int *)lock == 1)) - return 0; - return 1; -} - -int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) -{ - if (!ossl_assert(*(unsigned int *)lock == 1)) - return 0; - return 1; -} - -int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) -{ - if (!ossl_assert(*(unsigned int *)lock == 1)) - return 0; - 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; -} - -int openssl_init_fork_handlers(void) -{ - return 0; -} - +CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void) +{ + CRYPTO_RWLOCK *lock; + + if ((lock = OPENSSL_zalloc(sizeof(unsigned int))) == NULL) { + /* Don't set error, to avoid recursion blowup. */ + return NULL; + } + + *(unsigned int *)lock = 1; + + return lock; +} + +int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock) +{ + if (!ossl_assert(*(unsigned int *)lock == 1)) + return 0; + return 1; +} + +int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock) +{ + if (!ossl_assert(*(unsigned int *)lock == 1)) + return 0; + return 1; +} + +int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock) +{ + if (!ossl_assert(*(unsigned int *)lock == 1)) + return 0; + 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; +} + +int openssl_init_fork_handlers(void) +{ + return 0; +} + int openssl_get_fork_id(void) { # if defined(OPENSSL_SYS_UNIX) @@ -146,4 +146,4 @@ int openssl_get_fork_id(void) return 0; # endif } -#endif +#endif |