diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2007-03-08 17:00:32 +0000 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2007-03-08 17:00:32 +0000 |
commit | 54645fb275eb301230a0fd5dea3dbda104e11fb4 (patch) | |
tree | 91aa94af284e27c9bcb0739f3e0a35c83127e1cf | |
parent | 8b8dd69deec7bc04f5e474364dae6eb038df80f4 (diff) | |
download | strongswan-54645fb275eb301230a0fd5dea3dbda104e11fb4.tar.bz2 strongswan-54645fb275eb301230a0fd5dea3dbda104e11fb4.tar.xz |
added fetcher_finalize() to clean up libcurl
-rw-r--r-- | src/charon/daemon.c | 1 | ||||
-rw-r--r-- | src/libstrongswan/utils/fetcher.c | 15 | ||||
-rw-r--r-- | src/libstrongswan/utils/fetcher.h | 9 |
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_*/ |