aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2007-03-08 17:00:32 +0000
committerAndreas Steffen <andreas.steffen@strongswan.org>2007-03-08 17:00:32 +0000
commit54645fb275eb301230a0fd5dea3dbda104e11fb4 (patch)
tree91aa94af284e27c9bcb0739f3e0a35c83127e1cf
parent8b8dd69deec7bc04f5e474364dae6eb038df80f4 (diff)
downloadstrongswan-54645fb275eb301230a0fd5dea3dbda104e11fb4.tar.bz2
strongswan-54645fb275eb301230a0fd5dea3dbda104e11fb4.tar.xz
added fetcher_finalize() to clean up libcurl
-rw-r--r--src/charon/daemon.c1
-rw-r--r--src/libstrongswan/utils/fetcher.c15
-rw-r--r--src/libstrongswan/utils/fetcher.h9
3 files changed, 24 insertions, 1 deletions
diff --git a/src/charon/daemon.c b/src/charon/daemon.c
index e2f079d5e..05acd36bf 100644
--- a/src/charon/daemon.c
+++ b/src/charon/daemon.c
@@ -505,6 +505,7 @@ int main(int argc, char *argv[])
run(private_charon);
eap_method_unload();
+ fetcher_finalize();
/* normal termination, cleanup and exit */
destroy(private_charon);
unlink(PID_FILE);
diff --git a/src/libstrongswan/utils/fetcher.c b/src/libstrongswan/utils/fetcher.c
index 6cc89a009..f5cd342b9 100644
--- a/src/libstrongswan/utils/fetcher.c
+++ b/src/libstrongswan/utils/fetcher.c
@@ -173,7 +173,7 @@ void fetcher_initialize(void)
#ifdef LIBCURL
CURLcode res;
- /* init libcurl */
+ /* initialize libcurl */
DBG1("initializing libcurl");
res = curl_global_init(CURL_GLOBAL_NOTHING);
if (res != CURLE_OK)
@@ -182,3 +182,16 @@ void fetcher_initialize(void)
}
#endif /* LIBCURL */
}
+
+/**
+ * Described in header.
+ */
+void fetcher_finalize(void)
+{
+ #ifdef LIBCURL
+ /* finalize libcurl */
+ DBG1("finalizing libcurl");
+ curl_global_cleanup();
+#endif /* LIBCURL */
+}
+
diff --git a/src/libstrongswan/utils/fetcher.h b/src/libstrongswan/utils/fetcher.h
index ca3918697..ea7dd22b8 100644
--- a/src/libstrongswan/utils/fetcher.h
+++ b/src/libstrongswan/utils/fetcher.h
@@ -83,4 +83,13 @@ fetcher_t* fetcher_create(const char *uri);
*/
void fetcher_initialize(void);
+/**
+ * @brief Finalizes the fetcher_t class
+ *
+ * call this function only once befor exiting the main program
+ *
+ * @ingroup utils
+ */
+void fetcher_finalize(void);
+
#endif /*FETCHER_H_*/