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. --- condvar.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'condvar.c') diff --git a/condvar.c b/condvar.c index 37d92e6..891705d 100644 --- a/condvar.c +++ b/condvar.c @@ -9,8 +9,6 @@ * Code contributed by John E. Bossom . */ -#include - #include "pthread.h" #include "implement.h" @@ -308,7 +306,7 @@ pthread_cond_init (pthread_cond_t * cond, const pthread_condattr_t * attr) cv->waiters = 0; cv->wasBroadcast = FALSE; - if (sem_init (&(cv->sema), 0, 1) != 0) + if (_pthread_sem_init (&(cv->sema), 0, 1) != 0) { goto FAIL0; } @@ -341,7 +339,7 @@ FAIL2: (void) pthread_mutex_destroy (&(cv->waitersLock)); FAIL1: - (void) sem_destroy (&(cv->sema)); + (void) _pthread_sem_destroy (&(cv->sema)); free (cv); cv = NULL; @@ -388,7 +386,7 @@ pthread_cond_destroy (pthread_cond_t * cond) { cv = *cond; - (void) sem_destroy (&(cv->sema)); + (void) _pthread_sem_destroy (&(cv->sema)); (void) pthread_mutex_destroy (&(cv->waitersLock)); (void) CloseHandle (cv->waitersDone); @@ -420,7 +418,7 @@ cond_timedwait (pthread_cond_t * cond, * We keep the lock held just long enough to increment the count of * waiters by one (above). * Note that we can't keep it held across the - * call to sem_wait since that will deadlock other calls + * call to _pthread_sem_wait since that will deadlock other calls * to pthread_cond_signal */ if ((result = pthread_mutex_unlock (mutex)) == 0) @@ -656,7 +654,7 @@ pthread_cond_signal (pthread_cond_t * cond) if (cv->waiters > 0) { - result = sem_post (&(cv->sema)); + result = _pthread_sem_post (&(cv->sema)); } return (result); @@ -713,7 +711,7 @@ pthread_cond_broadcast (pthread_cond_t * cond) for (i = cv->waiters; i > 0 && result == 0; i--) { - result = sem_post (&(cv->sema)); + result = _pthread_sem_post (&(cv->sema)); } if (cv->waiters > 0 && result == 0) -- cgit v1.2.3