diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-12-17 13:49:36 -0800 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-12-17 13:49:36 -0800 |
commit | f01c2359ebd4ed130ea0bfa67b59db896cb55cd5 (patch) | |
tree | 1cd8d18f8349a5e2fa1aa1a67e55276c5e530356 /nptl/pthread_rwlock_init.c | |
parent | f282f6b90a52d95370392bd7a4e6ec1bbd90afe5 (diff) | |
download | glibc-f01c2359ebd4ed130ea0bfa67b59db896cb55cd5.tar.gz glibc-f01c2359ebd4ed130ea0bfa67b59db896cb55cd5.tar.xz glibc-f01c2359ebd4ed130ea0bfa67b59db896cb55cd5.zip |
Small optimization of pthread_rwlock_init.
Diffstat (limited to 'nptl/pthread_rwlock_init.c')
-rw-r--r-- | nptl/pthread_rwlock_init.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/nptl/pthread_rwlock_init.c b/nptl/pthread_rwlock_init.c index 27f25ac2ab..c0aa194107 100644 --- a/nptl/pthread_rwlock_init.c +++ b/nptl/pthread_rwlock_init.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2007 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -37,13 +37,7 @@ __pthread_rwlock_init (rwlock, attr) iattr = ((const struct pthread_rwlockattr *) attr) ?: &default_attr; - rwlock->__data.__lock = 0; - rwlock->__data.__nr_readers = 0; - rwlock->__data.__readers_wakeup = 0; - rwlock->__data.__writer_wakeup = 0; - rwlock->__data.__nr_readers_queued = 0; - rwlock->__data.__nr_writers_queued = 0; - rwlock->__data.__writer = 0; + memset (rwlock, '\0', sizeof (*rwlock)); rwlock->__data.__flags = iattr->lockkind == PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP; @@ -56,8 +50,8 @@ __pthread_rwlock_init (rwlock, attr) 0x80 in case private futexes are available and zero otherwise. This leads to the following table: - | pshared | result - | shared private | shared private | + | pshared | result + | shared private | shared private | ------------+-----------------+-----------------+ !avail 0 | 0 0 | 0 0 | avail 0x80 | 0x80 0 | 0 0x80 | @@ -74,9 +68,6 @@ __pthread_rwlock_init (rwlock, attr) header.private_futex)); #endif - rwlock->__data.__pad1 = 0; - rwlock->__data.__pad2 = 0; - return 0; } strong_alias (__pthread_rwlock_init, pthread_rwlock_init) |