diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-10-15 16:27:08 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-10-15 16:27:08 -0400 |
commit | fd5bdc0924e0cfd1688b632068c1b26f3b0c88da (patch) | |
tree | aac5e56322b05ae60be779de324b90087fb99dc4 /nptl | |
parent | 2d1f3a4db65d2731a695dee6b973accea8b9adc0 (diff) | |
download | glibc-fd5bdc0924e0cfd1688b632068c1b26f3b0c88da.tar.gz glibc-fd5bdc0924e0cfd1688b632068c1b26f3b0c88da.tar.xz glibc-fd5bdc0924e0cfd1688b632068c1b26f3b0c88da.zip |
Optimize access to isXYZ and toXYZ tables
The functions to get the pointers can now depend on the TLS variable be initialized.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 4 | ||||
-rw-r--r-- | nptl/pthread_create.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index ae48299a41..7ff251686c 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,7 @@ +2011-10-15 Ulrich Drepper <drepper@gmail.com> + + * pthread_create.c (start_thread): Ca;; __ctype_init. + 2011-09-15 Andreas Schwab <schwab@redhat.com> * sysdeps/pthread/list.h: Define only list_t if __need_list_t is diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 34d83f94ad..f1113fb9b4 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2007,2008,2009,2010 Free Software Foundation, Inc. +/* Copyright (C) 2002-2007,2008,2009,2010,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -17,6 +17,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <ctype.h> #include <errno.h> #include <stdbool.h> #include <stdlib.h> @@ -239,6 +240,9 @@ start_thread (void *arg) /* Initialize resolver state pointer. */ __resp = &pd->res; + /* Initialize pointers to locale data. */ + __ctype_init (); + /* Allow setxid from now onwards. */ if (__builtin_expect (atomic_exchange_acq (&pd->setxid_futex, 0) == -2, 0)) lll_futex_wake (&pd->setxid_futex, 1, LLL_PRIVATE); |