diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-08-28 06:47:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-08-28 06:47:35 +0000 |
commit | f0377954d7c324c0fe320eb1ca22ea46837e9da3 (patch) | |
tree | aa821826e08c86452eb7e6486c1e5518c037da8f /linuxthreads/pthread.c | |
parent | 160e53fdd18eea8703f5dbcc2e32d9f2689ef3b1 (diff) | |
download | glibc-f0377954d7c324c0fe320eb1ca22ea46837e9da3.zip glibc-f0377954d7c324c0fe320eb1ca22ea46837e9da3.tar.gz glibc-f0377954d7c324c0fe320eb1ca22ea46837e9da3.tar.bz2 |
Update.
2002-08-08 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/bits/local_lim.h (PTHREAD_THREADS_MAX):
Bump to 16384.
* manager.c (__pthread_handles): Remove.
* pthandles.c: New file.
* pthread.c (__pthread_initialize_minimal): Initialize
__pthread_handles[0] and __pthread_handles[1].
* Makefile (libpthread-routines): Add pthandles (must be last).
Diffstat (limited to 'linuxthreads/pthread.c')
-rw-r--r-- | linuxthreads/pthread.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c index 1848bfb..ae40254 100644 --- a/linuxthreads/pthread.c +++ b/linuxthreads/pthread.c @@ -420,6 +420,11 @@ __pthread_initialize_minimal(void) #ifdef USE_TLS pthread_descr self; + /* First of all init __pthread_handles[0] and [1] if needed. */ +# if __LT_SPINLOCK_INIT != 0 + __pthread_handles[0].h_lock = __LOCK_INITIALIZER; + __pthread_handles[1].h_lock = __LOCK_INITIALIZER; +# endif # ifndef SHARED /* Unlike in the dynamically linked case the dynamic linker has not taken care of initializing the TLS data structures. */ @@ -451,6 +456,14 @@ __pthread_initialize_minimal(void) /* And fill in the pointer the the thread __pthread_handles array. */ __pthread_handles[0].h_descr = self; #else + /* First of all init __pthread_handles[0] and [1]. */ +# if __LT_SPINLOCK_INIT != 0 + __pthread_handles[0].h_lock = __LOCK_INITIALIZER; + __pthread_handles[1].h_lock = __LOCK_INITIALIZER; +# endif + __pthread_handles[0].h_descr = &__pthread_initial_thread; + __pthread_handles[1].h_descr = &__pthread_manager_thread; + /* If we have special thread_self processing, initialize that for the main thread now. */ # ifdef INIT_THREAD_SELF |