summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--locale/C-time.c4
-rw-r--r--locale/tst-C-locale.c20
-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
6 files changed, 32 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index d02fec43ea..f363678803 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
 2004-08-12  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
diff --git a/locale/C-time.c b/locale/C-time.c
index a8534b1704..9047587e4a 100644
--- a/locale/C-time.c
+++ b/locale/C-time.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2000, 2001, 2002, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -76,7 +76,7 @@ const struct locale_data _nl_C_LC_TIME attribute_hidden =
     { .string = "%m/%d/%y" },
     { .string = "%H:%M:%S" },
     { .string = "%I:%M:%S %p" },
-    { .string = NULL },
+    { .string = "" },
     { .string = "" },
     { .string = "" },
     { .string = "" },
diff --git a/locale/tst-C-locale.c b/locale/tst-C-locale.c
index d568b55060..c568cf404a 100644
--- a/locale/tst-C-locale.c
+++ b/locale/tst-C-locale.c
@@ -1,5 +1,5 @@
 /* Tests of C and POSIX locale contents.
-   Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
 
@@ -154,6 +154,11 @@ run_test (const char *locname)
   STRTEST (D_FMT, "%m/%d/%y");
   STRTEST (T_FMT, "%H:%M:%S");
   STRTEST (T_FMT_AMPM, "%I:%M:%S %p");
+  STRTEST (ERA, "");
+  STRTEST (ERA_D_FMT, "");
+  STRTEST (ERA_T_FMT, "");
+  STRTEST (ERA_D_T_FMT, "");
+  STRTEST (ALT_DIGITS, "");
 
   STRTEST (RADIXCHAR, ".");
   STRTEST (THOUSEP, "");
@@ -206,6 +211,10 @@ run_test (const char *locname)
   WSTRTEST (_NL_WD_FMT, L"%m/%d/%y");
   WSTRTEST (_NL_WT_FMT, L"%H:%M:%S");
   WSTRTEST (_NL_WT_FMT_AMPM, L"%I:%M:%S %p");
+  WSTRTEST (_NL_WERA_D_FMT, L"");
+  WSTRTEST (_NL_WERA_T_FMT, L"");
+  WSTRTEST (_NL_WERA_D_T_FMT, L"");
+  WSTRTEST (_NL_WALT_DIGITS, L"");
 
   STRTEST (_DATE_FMT, "%a %b %e %H:%M:%S %Z %Y");
   WSTRTEST (_NL_W_DATE_FMT, L"%a %b %e %H:%M:%S %Z %Y");
@@ -297,6 +306,11 @@ run_test (const char *locname)
       STRTEST (D_FMT, "%m/%d/%y");
       STRTEST (T_FMT, "%H:%M:%S");
       STRTEST (T_FMT_AMPM, "%I:%M:%S %p");
+      STRTEST (ERA, "");
+      STRTEST (ERA_D_FMT, "");
+      STRTEST (ERA_T_FMT, "");
+      STRTEST (ERA_D_T_FMT, "");
+      STRTEST (ALT_DIGITS, "");
 
       STRTEST (RADIXCHAR, ".");
       STRTEST (THOUSEP, "");
@@ -349,6 +363,10 @@ run_test (const char *locname)
       WSTRTEST (_NL_WD_FMT, L"%m/%d/%y");
       WSTRTEST (_NL_WT_FMT, L"%H:%M:%S");
       WSTRTEST (_NL_WT_FMT_AMPM, L"%I:%M:%S %p");
+      WSTRTEST (_NL_WERA_D_FMT, L"");
+      WSTRTEST (_NL_WERA_T_FMT, L"");
+      WSTRTEST (_NL_WERA_D_T_FMT, L"");
+      WSTRTEST (_NL_WALT_DIGITS, L"");
 
       STRTEST (_DATE_FMT, "%a %b %e %H:%M:%S %Z %Y");
       WSTRTEST (_NL_W_DATE_FMT, L"%a %b %e %H:%M:%S %Z %Y");
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)
 	{