diff --git a/lib/asyn-thrdd.c b/lib/asyn-thrdd.c index 454e31b8b8..2d0aaad6c1 100644 --- a/lib/asyn-thrdd.c +++ b/lib/asyn-thrdd.c @@ -202,13 +202,7 @@ err_exit: * For builds without ARES, but with USE_IPV6, create a resolver thread * and wait on it. */ -static -#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE) -DWORD -#else -unsigned int -#endif -CURL_STDCALL getaddrinfo_thread(void *arg) +static CURL_THREAD_RESULT_T CURL_STDCALL getaddrinfo_thread(void *arg) { struct async_thrdd_addr_ctx *addr_ctx = arg; char service[12]; @@ -262,13 +256,7 @@ CURL_STDCALL getaddrinfo_thread(void *arg) /* * gethostbyname_thread() resolves a name and then exits. */ -static -#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE) -DWORD -#else -unsigned int -#endif -CURL_STDCALL gethostbyname_thread(void *arg) +static CURL_THREAD_RESULT_T CURL_STDCALL gethostbyname_thread(void *arg) { struct async_thrdd_addr_ctx *addr_ctx = arg; bool all_gone; diff --git a/lib/curl_threads.c b/lib/curl_threads.c index eae7544016..03e9126b21 100644 --- a/lib/curl_threads.c +++ b/lib/curl_threads.c @@ -59,7 +59,9 @@ static void *curl_thread_create_thunk(void *arg) return 0; } -curl_thread_t Curl_thread_create(unsigned int (*func) (void *), void *arg) +curl_thread_t Curl_thread_create(CURL_THREAD_RESULT_T + (CURL_STDCALL *func) (void *), + void *arg) { curl_thread_t t = malloc(sizeof(pthread_t)); struct Curl_actual_call *ac = malloc(sizeof(struct Curl_actual_call)); @@ -101,13 +103,8 @@ int Curl_thread_join(curl_thread_t *hnd) #elif defined(USE_THREADS_WIN32) -curl_thread_t Curl_thread_create( -#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE) - DWORD -#else - unsigned int -#endif - (CURL_STDCALL *func) (void *), +curl_thread_t Curl_thread_create(CURL_THREAD_RESULT_T + (CURL_STDCALL *func) (void *), void *arg) { #if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE) diff --git a/lib/curl_threads.h b/lib/curl_threads.h index b060d4acd3..3e9e53a4b1 100644 --- a/lib/curl_threads.h +++ b/lib/curl_threads.h @@ -50,15 +50,16 @@ # define Curl_mutex_destroy(m) DeleteCriticalSection(m) #endif +#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE) +#define CURL_THREAD_RESULT_T DWORD +#else +#define CURL_THREAD_RESULT_T unsigned int +#endif + #if defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) -curl_thread_t Curl_thread_create( -#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE) - DWORD -#else - unsigned int -#endif - (CURL_STDCALL *func) (void *), +curl_thread_t Curl_thread_create(CURL_THREAD_RESULT_T + (CURL_STDCALL *func) (void *), void *arg); void Curl_thread_destroy(curl_thread_t *hnd); diff --git a/tests/libtest/lib3207.c b/tests/libtest/lib3207.c index e1c4f4b055..c61d70ee25 100644 --- a/tests/libtest/lib3207.c +++ b/tests/libtest/lib3207.c @@ -25,14 +25,12 @@ #include "memdebug.h" -#if defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) #if defined(USE_THREADS_POSIX) #include #endif -#include "curl_threads.h" -#endif -#define CAINFO libtest_arg2 +#include "curl_threads.h" + #define THREAD_SIZE 16 #define PER_THREAD_SIZE 8 @@ -70,18 +68,7 @@ static size_t write_memory_callback(char *contents, size_t size, return realsize; } -static -#if defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) -#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE) -DWORD -#else -unsigned int -#endif -CURL_STDCALL -#else -unsigned int -#endif -test_thread(void *ptr) +static CURL_THREAD_RESULT_T CURL_STDCALL test_thread(void *ptr) { struct Ctx *ctx = (struct Ctx *)ptr; CURLcode res = CURLE_OK; @@ -97,7 +84,7 @@ test_thread(void *ptr) /* use the share object */ curl_easy_setopt(curl, CURLOPT_SHARE, ctx->share); - curl_easy_setopt(curl, CURLOPT_CAINFO, CAINFO); + curl_easy_setopt(curl, CURLOPT_CAINFO, libtest_arg2); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_memory_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, ptr);