2 * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
10 #include <internal/thread_arch.h>
12 #if defined(OPENSSL_THREADS_NONE)
14 int ossl_crypto_thread_native_spawn(CRYPTO_THREAD *thread)
19 int ossl_crypto_thread_native_join(CRYPTO_THREAD *thread, CRYPTO_THREAD_RETVAL *retval)
24 int ossl_crypto_thread_native_terminate(CRYPTO_THREAD *thread)
29 int ossl_crypto_thread_native_exit(void)
34 int ossl_crypto_thread_native_is_self(CRYPTO_THREAD *thread)
39 CRYPTO_MUTEX *ossl_crypto_mutex_new(void)
44 void ossl_crypto_mutex_lock(CRYPTO_MUTEX *mutex)
48 int ossl_crypto_mutex_try_lock(CRYPTO_MUTEX *mutex)
53 void ossl_crypto_mutex_unlock(CRYPTO_MUTEX *mutex)
57 void ossl_crypto_mutex_free(CRYPTO_MUTEX **mutex)
61 CRYPTO_CONDVAR *ossl_crypto_condvar_new(void)
66 void ossl_crypto_condvar_wait(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX *mutex)
70 void ossl_crypto_condvar_broadcast(CRYPTO_CONDVAR *cv)
74 void ossl_crypto_condvar_free(CRYPTO_CONDVAR **cv)
78 void ossl_crypto_mem_barrier(void)