From: Richard Levitte Date: Wed, 6 Feb 2019 19:51:47 +0000 (+0100) Subject: test/drbgtest.c: call OPENSSL_thread_stop() explicitly X-Git-Tag: OpenSSL_1_1_1b~45 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=eaacc2475044b624a7b3b1ecd9ebe5953a6ff45d;p=oweals%2Fopenssl.git test/drbgtest.c: call OPENSSL_thread_stop() explicitly The manual says this in its notes: ... and therefore applications using static linking should also call OPENSSL_thread_stop() on each thread. ... Fixes #8171 Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/8173) (cherry picked from commit 03cdfe1efaf2a3b5192b8cb3ef331939af7bfeb8) --- diff --git a/test/drbgtest.c b/test/drbgtest.c index b690475e0c..67fc1aaa6b 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -830,6 +830,11 @@ typedef HANDLE thread_t; static DWORD WINAPI thread_run(LPVOID arg) { run_multi_thread_test(); + /* + * Because we're linking with a static library, we must stop each + * thread explicitly, or so says OPENSSL_thread_stop(3) + */ + OPENSSL_thread_stop(); return 0; } @@ -851,6 +856,11 @@ typedef pthread_t thread_t; static void *thread_run(void *arg) { run_multi_thread_test(); + /* + * Because we're linking with a static library, we must stop each + * thread explicitly, or so says OPENSSL_thread_stop(3) + */ + OPENSSL_thread_stop(); return NULL; }