From 03cdfe1efaf2a3b5192b8cb3ef331939af7bfeb8 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Wed, 6 Feb 2019 20:51:47 +0100 Subject: [PATCH] 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) --- test/drbgtest.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/drbgtest.c b/test/drbgtest.c index 4546f63376..c788f19fc5 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -839,6 +839,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; } @@ -860,6 +865,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; }