summaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-08-13 05:42:43 +0000
committerUlrich Drepper <drepper@redhat.com>2004-08-13 05:42:43 +0000
commit644eff0c9fde2da05a4edcbe49d27f528286a887 (patch)
tree5dbb52555ac8e1aa35f3e1bac14d9618bad32c32 /nptl
parent30c06335ce753f14f5c46f6fc7080100992b3f17 (diff)
Update.
2004-08-10 GOTO Masanori <gotom@debian.or.jp> * locale/C-time.c: Change default ERA value from NULL to "". * locale/tst-C-locale.c: Add test case for ERA keywords.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/DESIGN-rwlock.txt1
-rw-r--r--nptl/sysdeps/pthread/pthread_rwlock_rdlock.c4
-rw-r--r--nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c2
3 files changed, 6 insertions, 1 deletions
diff --git a/nptl/DESIGN-rwlock.txt b/nptl/DESIGN-rwlock.txt
index cdbd4ce9ef..810d1b8f35 100644
--- a/nptl/DESIGN-rwlock.txt
+++ b/nptl/DESIGN-rwlock.txt
@@ -48,6 +48,7 @@ pthread_rwlock_rdlock(pthread_rwlock_t *rwlock)
futex_wait(&rwlock->readers_wakeup, val)
lll_lock(rwlock->lock);
+ rwlock->nr_readers_queued--;
}
rwlock->readers++;
lll_unlock(rwlock->lock);
diff --git a/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c b/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c
index f785bb7893..e225d7030d 100644
--- a/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c
+++ b/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
@@ -81,6 +81,8 @@ __pthread_rwlock_rdlock (rwlock)
/* Get the lock. */
lll_mutex_lock (rwlock->__data.__lock);
+
+ --rwlock->__data.__nr_readers_queued;
}
/* We are done, free the lock. */
diff --git a/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c b/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c
index 62f3e23248..80ea83a3dd 100644
--- a/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c
+++ b/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c
@@ -119,6 +119,8 @@ pthread_rwlock_timedrdlock (rwlock, abstime)
/* Get the lock. */
lll_mutex_lock (rwlock->__data.__lock);
+ --rwlock->__data.__nr_readers_queued;
+
/* Did the futex call time out? */
if (err == -ETIMEDOUT)
{