From cc29ad943903e9b8dba96cd978cb126f79f73e38 Mon Sep 17 00:00:00 2001 From: rpj Date: Tue, 2 Feb 1999 02:01:56 +0000 Subject: Mods to compile under Mingw32 egcs. Tue Feb 2 18:07:43 1999 Ross Johnson * implement.h: Add #include . Change sem_t to _pthread_sem_t. Various patches by Kevin Ruland * signal.c (pthread_sigmask): Add and modify casts. Reverse LHS/RHS bitwise assignments. * pthread.h: Remove #include . (_PTHREAD_ATTR_VALID): Add cast. (struct pthread_t_): Add sigmask element. * dll.c: Add "extern C" for DLLMain. (DllMain): Add cast. * create.c (pthread_create): Set sigmask in thread. * condvar.c: Remove #include. Change sem_* to _pthread_sem_*. * attr.c: Changed #include. * Makefile.in: Additional targets and changes to build the library as a DLL. Fri Jan 29 11:56:28 1999 Ross Johnson * Makefile.in (OBJS): Add semaphore.o to list. * semaphore.c (_pthread_sem_timedwait): Move from private.c. Rename sem_* to _pthread_sem_*. * pthread.h (pthread_cond_t): Change type of sem_t. _POSIX_SEMAPHORES no longer defined. * semaphore.h: Contents moved to implement.h. Removed from source tree. * implement.h: Add semaphore function prototypes and ename all functions to prepend '_pthread_'. They are now private to the pthreads-win32 implementation. * private.c: Change #warning. Move _pthread_sem_timedwait() to semaphore.c. * cleanup.c: Change #warning. * misc.c: Remove #include * pthread.def: Cleanup CVS merge conflicts. * global.c: Ditto. * ChangeLog: Ditto. * cleanup.c: Ditto. --- dll.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'dll.c') diff --git a/dll.c b/dll.c index 7ebfd5e..b440500 100644 --- a/dll.c +++ b/dll.c @@ -29,6 +29,20 @@ static HINSTANCE _pthread_h_kernel32; #pragma warning( disable : 4100 ) #endif +#ifdef __cplusplus +/* + * Dear c++: Please don't mangle this name. -thanks + */ +extern "C" +{ +#endif /* __cplusplus */ + + BOOL WINAPI DllMain( HINSTANCE, DWORD, LPVOID); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + BOOL WINAPI DllMain ( HINSTANCE hinstDll, @@ -50,6 +64,7 @@ DllMain ( /* Load KERNEL32 and try to get address of TryEnterCriticalSection */ _pthread_h_kernel32 = LoadLibrary(TEXT("KERNEL32.DLL")); _pthread_try_enter_critical_section = + (BOOL (PT_STDCALL *)(LPCRITICAL_SECTION)) GetProcAddress(_pthread_h_kernel32, (LPCSTR) "TryEnterCriticalSection"); break; -- cgit v1.2.3