From c3932c34cde5a152baeecd24d2395b4ad205a6d8 Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Thu, 10 Jun 2021 16:06:10 -0400 Subject: Always wait for both threads to finish Reviewed-by: Tomas Mraz Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/15708) --- test/threadstest.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/test/threadstest.c b/test/threadstest.c index cb9817aa28..ce31738189 100644 --- a/test/threadstest.c +++ b/test/threadstest.c @@ -441,12 +441,16 @@ static int test_multi(int idx) worker(); - if (!TEST_true(wait_for_thread(thread1)) - || !TEST_true(wait_for_thread(thread2)) - || !TEST_true(multi_success)) - goto err; - testresult = 1; + /* + * Don't combine these into one if statement; must wait for both threads. + */ + if (!TEST_true(wait_for_thread(thread1))) + testresult = 0; + if (!TEST_true(wait_for_thread(thread2))) + testresult = 0; + if (!TEST_true(multi_success)) + testresult = 0; err: EVP_MD_free(sha256); -- cgit v1.2.3