diff --git a/test/threadstest.c b/test/threadstest.c index 7bc13fb7a9e04..ecfd655eab3c9 100644 --- a/test/threadstest.c +++ b/test/threadstest.c @@ -281,6 +281,7 @@ static int torture_rw_high(void) } +#ifndef OPENSSL_SYS_MACOSX static CRYPTO_RCU_LOCK *rcu_lock = NULL; static int writer1_done = 0; @@ -292,7 +293,6 @@ static int writer2_iterations = 0; static uint64_t *writer_ptr = NULL; static uint64_t global_ctr = 0; static int rcu_torture_result = 1; - static void free_old_rcu_data(void *data) { CRYPTO_free(data, NULL, 0); @@ -364,8 +364,9 @@ static void reader_fn(int *iterations) ossl_rcu_read_lock(rcu_lock); valp = ossl_rcu_deref(&writer_ptr); val = (valp == NULL) ? 0 : *valp; + if (oldval > val) { - TEST_info("rcu torture value went backwards!"); + TEST_info("rcu torture value went backwards! %llu : %llu", (unsigned long long)oldval, (unsigned long long)val); rcu_torture_result = 0; } oldval = val; /* just try to deref the pointer */ @@ -460,6 +461,7 @@ static int torture_rcu_high(void) return _torture_rcu(); } #endif +#endif static CRYPTO_ONCE once_run = CRYPTO_ONCE_STATIC_INIT; static unsigned once_run_count = 0; @@ -1223,8 +1225,10 @@ int setup_tests(void) #if defined(OPENSSL_THREADS) ADD_TEST(torture_rw_low); ADD_TEST(torture_rw_high); +#ifndef OPENSSL_SYS_MACOSX ADD_TEST(torture_rcu_low); ADD_TEST(torture_rcu_high); +#endif #endif ADD_TEST(test_once); ADD_TEST(test_thread_local);