Fixes: #29883
Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Feb 4 15:55:47 2026
(Merged from https://github.com/openssl/openssl/pull/29924)
* implementation
* Likewise is there a problem with the glibc implementation on riscv.
*/
-#if defined(PTHREAD_RWLOCK_INITIALIZER) && !defined(_KLT_MODEL_) \
+#if defined(PTHREAD_RWLOCK_INITIALIZER) && !defined(_KLT_MODEL_) && !defined(_PUT_MODEL_) \
&& !defined(__riscv)
#define USE_RWLOCK
#endif
#else /* !REPORT_RWLOCK_CONTENTION */
+#if defined(USE_RWLOCK)
static ossl_inline void ossl_init_rwlock_contention_data(void)
{
}
{
return pthread_rwlock_unlock(rwlock);
}
+#endif /* USE_RWLOCK */
#endif /* REPORT_RWLOCK_CONTENTION */
CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void)