diff options
author | Martin Willi <martin@revosec.ch> | 2013-10-21 13:00:29 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-06-04 15:53:01 +0200 |
commit | 965e846cc31050078399f724ecc1d67b1937bcd8 (patch) | |
tree | 2218e6fc03f939aa53bfb58a7e952a90a0ca74d0 /src | |
parent | c46cee6f6d4c2ad93ddf183d21bc42bd94de70b8 (diff) | |
download | strongswan-965e846cc31050078399f724ecc1d67b1937bcd8.tar.bz2 strongswan-965e846cc31050078399f724ecc1d67b1937bcd8.tar.xz |
library: Change init/deinit order to allow utils to depend on threading
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/library.c | 9 | ||||
-rw-r--r-- | 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 c5850e155..93ff8400f 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 1f11050f4..4684eb18d 100644 --- a/src/libstrongswan/tests/test_runner.c +++ b/src/libstrongswan/tests/test_runner.c @@ -18,6 +18,7 @@ #include "test_runner.h" #include <library.h> +#include <threading/thread.h> #include <plugins/plugin_feature.h> #include <collections/array.h> #include <utils/test.h> @@ -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(); } /** |