diff --git a/common/thread_calls.c b/common/thread_calls.c index ad2334d4..84407669 100644 --- a/common/thread_calls.c +++ b/common/thread_calls.c @@ -25,10 +25,11 @@ #else #include #endif +#include "arch.h" /*****************************************************************************/ #if defined(_WIN32) -int +int APP_CC g_thread_create(unsigned long (__stdcall * start_routine)(void*), void* arg) { DWORD thread; @@ -36,7 +37,7 @@ g_thread_create(unsigned long (__stdcall * start_routine)(void*), void* arg) return !CreateThread(0, 0, start_routine, arg, 0, &thread); } #else -int +int APP_CC g_thread_create(void* (* start_routine)(void*), void* arg) { pthread_t thread; @@ -49,12 +50,12 @@ g_thread_create(void* (* start_routine)(void*), void* arg) #endif /*****************************************************************************/ -int +long APP_CC g_get_threadid(void) { #if defined(_WIN32) return 0; #else - return pthread_self(); + return (long)pthread_self(); #endif } diff --git a/common/thread_calls.h b/common/thread_calls.h index 700a8133..af94bafe 100644 --- a/common/thread_calls.h +++ b/common/thread_calls.h @@ -21,9 +21,9 @@ #if !defined(THREAD_CALLS_H) #define THREAD_CALLS_H -int +int APP_CC g_thread_create(THREAD_RV (THREAD_CC * start_routine)(void*), void* arg); -int +long APP_CC g_get_threadid(void); #endif diff --git a/xrdp/xrdp.c b/xrdp/xrdp.c index 4577f2d2..d82c0cda 100644 --- a/xrdp/xrdp.c +++ b/xrdp/xrdp.c @@ -28,7 +28,7 @@ #include "xrdp.h" static struct xrdp_listen* g_listen = 0; -static int g_threadid = 0; /* main threadid */ +static long g_threadid = 0; /* main threadid */ #if defined(_WIN32) static SERVICE_STATUS_HANDLE g_ssh = 0;