From: Tobias Brunner Date: Sat, 26 Dec 2009 14:49:15 +0000 (+0100) Subject: Pluto's fetcher thread is now created via libstrongswan. X-Git-Tag: 4.3.6~53 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e9a1852aac7ce3af9b4a9e89dac836fb10d6dc85;p=thirdparty%2Fstrongswan.git Pluto's fetcher thread is now created via libstrongswan. --- diff --git a/src/pluto/fetch.c b/src/pluto/fetch.c index 07425ad874..3c2a66c305 100644 --- a/src/pluto/fetch.c +++ b/src/pluto/fetch.c @@ -29,6 +29,9 @@ #include #include #include +#ifdef THREADS +#include +#endif #include "constants.h" #include "defs.h" @@ -56,7 +59,7 @@ static fetch_req_t *crl_fetch_reqs = NULL; static ocsp_location_t *ocsp_fetch_reqs = NULL; #ifdef THREADS -static pthread_t thread; +static thread_t *thread; static pthread_mutex_t certs_and_keys_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t authcert_list_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t crl_list_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -496,11 +499,15 @@ void init_fetch(void) if (crl_check_interval > 0) { #ifdef THREADS - int status = pthread_create( &thread, NULL, fetch_thread, NULL); + thread = thread_create((thread_main_t)fetch_thread, NULL); - if (status != 0) + if (thread == NULL) + { + plog("fetching thread could not be started"); + } + else { - plog("fetching thread could not be started, status = %d", status); + thread->detach(thread); } #else /* !THREADS */ plog("warning: not compiled with pthread support");