summaryrefslogtreecommitdiff
path: root/src/thread/pthread_rwlock_unlock.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-02-17 17:16:20 -0500
committerRich Felker <dalias@aerifal.cx>2011-02-17 17:16:20 -0500
commite882756311c7b06e59fcc8e582f03852b7dcfd30 (patch)
treeaead1d2311ed1d3b68dd2b1f02ff6eed2c5ea2ea /src/thread/pthread_rwlock_unlock.c
parent4fd159568aa1852fbbe6c11d35ccecaec3715d7c (diff)
downloadmusl-e882756311c7b06e59fcc8e582f03852b7dcfd30.tar.gz
musl-e882756311c7b06e59fcc8e582f03852b7dcfd30.tar.bz2
musl-e882756311c7b06e59fcc8e582f03852b7dcfd30.tar.xz
musl-e882756311c7b06e59fcc8e582f03852b7dcfd30.zip
reorganize pthread data structures and move the definitions to alltypes.h
this allows sys/types.h to provide the pthread types, as required by POSIX. this design also facilitates forcing ABI-compatible sizes in the arch-specific alltypes.h, while eliminating the need for developers changing the internals of the pthread types to poke around with arch-specific headers they may not be able to test.
Diffstat (limited to 'src/thread/pthread_rwlock_unlock.c')
-rw-r--r--src/thread/pthread_rwlock_unlock.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/thread/pthread_rwlock_unlock.c b/src/thread/pthread_rwlock_unlock.c
index f39117e7..060e3fe1 100644
--- a/src/thread/pthread_rwlock_unlock.c
+++ b/src/thread/pthread_rwlock_unlock.c
@@ -3,15 +3,15 @@
int pthread_rwlock_unlock(pthread_rwlock_t *rw)
{
struct pthread *self = pthread_self();
- if (rw->__owner == self->tid) {
- rw->__owner = 0;
- a_store(&rw->__wrlock, 0);
- if (rw->__waiters)
- __wake(&rw->__wrlock, -1, 0);
+ if (rw->_rw_owner == self->tid) {
+ rw->_rw_owner = 0;
+ a_store(&rw->_rw_wrlock, 0);
+ if (rw->_rw_waiters)
+ __wake(&rw->_rw_wrlock, -1, 0);
return 0;
}
- a_dec(&rw->__readers);
- if (rw->__waiters && !rw->__readers)
- __wake(&rw->__readers, 1, 0);
+ a_dec(&rw->_rw_readers);
+ if (rw->_rw_waiters && !rw->_rw_readers)
+ __wake(&rw->_rw_readers, 1, 0);
return 0;
}