diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2021-09-15 20:11:08 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-09-16 01:04:05 +0200 |
commit | 166bb3eac351b88191d440b0fe8d5d7b757eaed0 (patch) | |
tree | 2a0366c36387bcee5c4ae2704ccca394cd969f48 /sysdeps/htl/pt-key-delete.c | |
parent | 4b6574a6f63b6c766f27be4a0b4c9376a35a4bd5 (diff) | |
download | glibc-166bb3eac351b88191d440b0fe8d5d7b757eaed0.tar.gz glibc-166bb3eac351b88191d440b0fe8d5d7b757eaed0.tar.xz glibc-166bb3eac351b88191d440b0fe8d5d7b757eaed0.zip |
htl: Move thread table to ld.so
The next commit is going to introduce a new implementation of THREAD_GSCOPE_WAIT which needs to access the list of threads. Since it must be usable from the dynamic laoder, we have to move the symbols for the list of threads into the loader. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20210915171110.226187-2-bugaevc@gmail.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'sysdeps/htl/pt-key-delete.c')
-rw-r--r-- | sysdeps/htl/pt-key-delete.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/htl/pt-key-delete.c b/sysdeps/htl/pt-key-delete.c index 4e77ef7521..9f5907bf13 100644 --- a/sysdeps/htl/pt-key-delete.c +++ b/sysdeps/htl/pt-key-delete.c @@ -39,12 +39,12 @@ __pthread_key_delete (pthread_key_t key) __pthread_key_destructors[key] = PTHREAD_KEY_INVALID; __pthread_key_invalid_count++; - __pthread_rwlock_rdlock (&__pthread_threads_lock); - for (i = 0; i < __pthread_num_threads; ++i) + __libc_rwlock_rdlock (GL (dl_pthread_threads_lock)); + for (i = 0; i < GL (dl_pthread_num_threads); ++i) { struct __pthread *t; - t = __pthread_threads[i]; + t = GL (dl_pthread_threads)[i]; if (t == NULL) continue; @@ -54,7 +54,7 @@ __pthread_key_delete (pthread_key_t key) if (key < t->thread_specifics_size) t->thread_specifics[key] = 0; } - __pthread_rwlock_unlock (&__pthread_threads_lock); + __libc_rwlock_unlock (GL (dl_pthread_threads_lock)); } __pthread_mutex_unlock (&__pthread_key_lock); |