aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-10-21 13:00:29 +0200
committerMartin Willi <martin@revosec.ch>2014-06-04 15:53:01 +0200
commit965e846cc31050078399f724ecc1d67b1937bcd8 (patch)
tree2218e6fc03f939aa53bfb58a7e952a90a0ca74d0 /src
parentc46cee6f6d4c2ad93ddf183d21bc42bd94de70b8 (diff)
downloadstrongswan-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.c9
-rw-r--r--src/libstrongswan/tests/test_runner.c3
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();
}
/**