* 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_RETURN_T CURL_STDCALL getaddrinfo_thread(void *arg)
{
struct async_thrdd_addr_ctx *addr_ctx = arg;
char service[12];
/*
* 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_RETURN_T CURL_STDCALL gethostbyname_thread(void *arg)
{
struct async_thrdd_addr_ctx *addr_ctx = arg;
bool all_gone;
return 0;
}
-curl_thread_t Curl_thread_create(unsigned int (*func) (void *), void *arg)
+curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_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));
#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 *),
- void *arg)
+curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_T
+ (CURL_STDCALL *func) (void *), void *arg)
{
#if defined(CURL_WINDOWS_UWP) || defined(UNDER_CE)
typedef HANDLE curl_win_thread_handle_t;
# define Curl_mutex_acquire(m) EnterCriticalSection(m)
# define Curl_mutex_release(m) LeaveCriticalSection(m)
# define Curl_mutex_destroy(m) DeleteCriticalSection(m)
+#else
+# define CURL_STDCALL
#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
+#define CURL_THREAD_RETURN_T DWORD
#else
- unsigned int
+#define CURL_THREAD_RETURN_T unsigned int
#endif
- (CURL_STDCALL *func) (void *),
- void *arg);
+
+#if defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32)
+
+curl_thread_t Curl_thread_create(CURL_THREAD_RETURN_T
+ (CURL_STDCALL *func) (void *), void *arg);
void Curl_thread_destroy(curl_thread_t *hnd);
#include "memdebug.h"
-#if defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32)
#if defined(USE_THREADS_POSIX)
#include <pthread.h>
#endif
+
#include "curl_threads.h"
-#endif
-#define CAINFO libtest_arg2
#define THREAD_SIZE 16
#define PER_THREAD_SIZE 8
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_RETURN_T CURL_STDCALL test_thread(void *ptr)
{
struct Ctx *ctx = (struct Ctx *)ptr;
CURLcode res = CURLE_OK;
/* 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);