diff --git a/src/xpdev/threadwrap.c b/src/xpdev/threadwrap.c index 7063f056f126d59ca4720f5560ac310185d11d01..add73472bb02cf06eacac689e592c7810ef9df3c 100644 --- a/src/xpdev/threadwrap.c +++ b/src/xpdev/threadwrap.c @@ -47,6 +47,9 @@ /****************************************************************************/ #if defined(__unix__) #if defined(_POSIX_THREADS) +#if defined(__BORLANDC__) + #pragma argsused +#endif ulong _beginthread(void( *start_address )( void * ) ,unsigned stack_size, void *arglist) { @@ -58,11 +61,14 @@ ulong _beginthread(void( *start_address )( void * ) /* set thread attributes to PTHREAD_CREATE_DETACHED which will ensure that thread resources are freed on exit() */ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - if(pthread_create(&thread +#if defined(__BORLANDC__) /* a (hopefully temporary) work-around */ + ,NULL +#else ,&attr /* default attributes */ +#endif /* POSIX defines this arg as "void *(*start_address)" */ - ,(void *) start_address + ,(void * (*)(void *)) start_address ,arglist)==0) return((int) thread /* thread handle */);