From 965e846cc31050078399f724ecc1d67b1937bcd8 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 21 Oct 2013 13:00:29 +0200 Subject: [PATCH] library: Change init/deinit order to allow utils to depend on threading --- src/libstrongswan/library.c | 9 +++++---- src/libstrongswan/tests/test_runner.c | 3 +++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libstrongswan/library.c b/src/libstrongswan/library.c index c5850e1559..93ff8400fa 100644 --- a/src/libstrongswan/library.c +++ b/src/libstrongswan/library.c @@ -141,12 +141,13 @@ void library_deinit() { lib->leak_detective->report(lib->leak_detective, detailed); lib->leak_detective->destroy(lib->leak_detective); + lib->leak_detective = NULL; } - arrays_deinit(); - threads_deinit(); backtrace_deinit(); + arrays_deinit(); utils_deinit(); + threads_deinit(); free((void*)this->public.ns); free(this); @@ -269,10 +270,10 @@ bool library_init(char *settings, const char *namespace) ); lib = &this->public; - utils_init(); - backtrace_init(); threads_init(); + utils_init(); arrays_init(); + backtrace_init(); #ifdef LEAK_DETECTIVE lib->leak_detective = leak_detective_create(); diff --git a/src/libstrongswan/tests/test_runner.c b/src/libstrongswan/tests/test_runner.c index 1f11050f49..4684eb18df 100644 --- a/src/libstrongswan/tests/test_runner.c +++ b/src/libstrongswan/tests/test_runner.c @@ -18,6 +18,7 @@ #include "test_runner.h" #include +#include #include #include #include @@ -372,6 +373,7 @@ static void print_failures(array_t *failures) { failure_t failure; + threads_init(); backtrace_init(); while (array_remove(failures, 0, &failure)) @@ -391,6 +393,7 @@ static void print_failures(array_t *failures) } backtrace_deinit(); + threads_deinit(); } /** -- 2.47.2