about summary refs log tree commit diff
path: root/nptl/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r--nptl/sysdeps/pthread/pthread_rwlock_rdlock.c4
-rw-r--r--nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c2
2 files changed, 5 insertions, 1 deletions
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)
 	{