diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-12-19 22:49:55 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-12-19 22:49:55 +0000 |
commit | 13880b3014cddd3700e4186a3e07aa6146863b02 (patch) | |
tree | c89963bd4de4b9d78f0a9f12b796cf7fb3b5105b /nptl/allocatestack.c | |
parent | 7e1f8b2ea1c2ac251055574274ef5fda8ab1b57c (diff) | |
download | glibc-13880b3014cddd3700e4186a3e07aa6146863b02.tar.gz glibc-13880b3014cddd3700e4186a3e07aa6146863b02.tar.xz glibc-13880b3014cddd3700e4186a3e07aa6146863b02.zip |
(allocate_stack) [NEED_DL_SYSINFO]: Set sysinfo in new TCB.
Diffstat (limited to 'nptl/allocatestack.c')
-rw-r--r-- | nptl/allocatestack.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index 2dfecf0181..eabc68517a 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -24,6 +24,7 @@ #include <unistd.h> #include <sys/mman.h> #include <sys/param.h> +#include <dl-sysdep.h> #include <tls.h> @@ -275,6 +276,12 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, /* There is at least one more thread. */ pd->header.data.multiple_threads = 1; +#ifdef NEED_DL_SYSINFO + /* Copy the sysinfo value from the parent. */ + pd->header.data.sysinfo + = THREAD_GETMEM (THREAD_SELF, header.data.sysinfo); +#endif + /* Allocate the DTV for this thread. */ if (_dl_allocate_tls (pd) == NULL) /* Something went wrong. */ @@ -343,6 +350,12 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, /* There is at least one more thread. */ pd->header.data.multiple_threads = 1; +#ifdef NEED_DL_SYSINFO + /* Copy the sysinfo value from the parent. */ + pd->header.data.sysinfo + = THREAD_GETMEM (THREAD_SELF, header.data.sysinfo); +#endif + /* Allocate the DTV for this thread. */ if (_dl_allocate_tls (pd) == NULL) { |