The current lockless design does not need this lock around objs anymore
Assisted-by: Claude:claude-sonnet-5
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Bob Beck <beck@openssl.org>
MergeDate: Thu Jul 30 06:12:46 2026
(Merged from https://github.com/openssl/openssl/pull/32003)
/* Process-global state. */
CRYPTO_MUTEX *gm; /* global mutex */
- LHASH_OF(RADIX_OBJ) *objs; /* protected by gm */
+ LHASH_OF(RADIX_OBJ) *objs;
BIO *keylog_out; /* protected by gm */
uint64_t counter[2]; /* protected by gm */
RADIX_THREAD *rt = RT();
size_t i;
- ossl_crypto_mutex_lock(RP()->gm);
-
lh_RADIX_OBJ_doall(RP()->objs, cleanup_one);
lh_RADIX_OBJ_flush(RP()->objs);
rt->ssl[i] = NULL;
}
- ossl_crypto_mutex_unlock(RP()->gm);
return 1;
}