summaryrefslogtreecommitdiff
path: root/src/thread/pthread_rwlock_rdlock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/thread/pthread_rwlock_rdlock.c')
-rw-r--r--src/thread/pthread_rwlock_rdlock.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/thread/pthread_rwlock_rdlock.c b/src/thread/pthread_rwlock_rdlock.c
new file mode 100644
index 00000000..6bcdb815
--- /dev/null
+++ b/src/thread/pthread_rwlock_rdlock.c
@@ -0,0 +1,8 @@
+#include "pthread_impl.h"
+
+int pthread_rwlock_rdlock(pthread_rwlock_t *rw)
+{
+ while (pthread_rwlock_tryrdlock(rw))
+ __wait(&rw->__wrlock, &rw->__waiters, 1, 0);
+ return 0;
+}