summaryrefslogtreecommitdiff
path: root/condvar.c
diff options
context:
space:
mode:
Diffstat (limited to 'condvar.c')
-rw-r--r--condvar.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/condvar.c b/condvar.c
index 4b41a23..69ce69f 100644
--- a/condvar.c
+++ b/condvar.c
@@ -946,9 +946,21 @@ pthread_cond_broadcast (pthread_cond_t * cond)
/*
* Wake up all waiters
*/
+
+#ifdef NEED_SEM
+
+ result = (_pthread_increase_semaphore( &cv->sema, cv->waiters )
+ ? 0
+ : EINVAL);
+
+#else /* NEED_SEM */
+
result = (ReleaseSemaphore( cv->sema, cv->waiters, NULL )
- ? 0
- : EINVAL );
+ ? 0
+ : EINVAL);
+
+#endif /* NEED_SEM */
+
}
(void) pthread_mutex_unlock(&(cv->waitersLock));