diff options
Diffstat (limited to 'test/threads.h')
| -rw-r--r-- | test/threads.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/test/threads.h b/test/threads.h index c3ebf0c72..73191459b 100644 --- a/test/threads.h +++ b/test/threads.h @@ -40,8 +40,11 @@ # include <pthread.h> typedef pthread_t Fl_Thread; +extern "C" { + typedef void *(Fl_Thread_Func)(void *); +} -static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p) { +static int fl_create_thread(Fl_Thread& t, Fl_Thread_Func* f, void* p) { return pthread_create((pthread_t*)&t, 0, f, p); } @@ -51,8 +54,11 @@ static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p) { # include <process.h> typedef unsigned long Fl_Thread; +extern "C" { + typedef void *(__cdecl Fl_Thread_Func)(void *); +} -static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p) { +static int fl_create_thread(Fl_Thread& t, Fl_Thread_Func* f, void* p) { return t = (Fl_Thread)_beginthread((void( __cdecl * )( void * ))f, 0, p); } @@ -60,8 +66,11 @@ static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p) { # include <process.h> typedef unsigned long Fl_Thread; +extern "C" { + typedef void *(__cdecl Fl_Thread_Func)(void *); +} -static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p) { +static int fl_create_thread(Fl_Thread& t, Fl_Thread_Func* f, void* p) { return t = (Fl_Thread)_beginthread((void(* )( void * ))f, 32000, p); } # endif // !HAVE_PTHREAD_H |
