Index: fusl/src/thread/pthread_cond_broadcast.c |
diff --git a/fusl/src/thread/pthread_cond_broadcast.c b/fusl/src/thread/pthread_cond_broadcast.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..69f840fb4faee7d1f402771dba6f02b157a935c5 |
--- /dev/null |
+++ b/fusl/src/thread/pthread_cond_broadcast.c |
@@ -0,0 +1,12 @@ |
+#include "pthread_impl.h" |
+ |
+int __private_cond_signal(pthread_cond_t *, int); |
+ |
+int pthread_cond_broadcast(pthread_cond_t *c) |
+{ |
+ if (!c->_c_shared) return __private_cond_signal(c, -1); |
+ if (!c->_c_waiters) return 0; |
+ a_inc(&c->_c_seq); |
+ __wake(&c->_c_seq, -1, 0); |
+ return 0; |
+} |