about summary refs log tree commit diff
path: root/nptl/pthread_cond_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/pthread_cond_init.c')
-rw-r--r--nptl/pthread_cond_init.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/nptl/pthread_cond_init.c b/nptl/pthread_cond_init.c
index a75b82b9cf..65c01b103c 100644
--- a/nptl/pthread_cond_init.c
+++ b/nptl/pthread_cond_init.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -31,8 +32,9 @@ __pthread_cond_init (cond, cond_attr)
   cond->__data.__lock = LLL_LOCK_INITIALIZER;
   cond->__data.__futex = 0;
   cond->__data.__nwaiters = (icond_attr != NULL
-			     && ((icond_attr->value
-				  & (COND_NWAITERS_SHIFT << 1)) >> 1));
+			     ? ((icond_attr->value >> 1)
+				& ((1 << COND_NWAITERS_SHIFT) - 1))
+			     : CLOCK_REALTIME);
   cond->__data.__total_seq = 0;
   cond->__data.__wakeup_seq = 0;
   cond->__data.__woken_seq = 0;