Home
last modified time | relevance | path

Searched refs:pthread_internal_t (Results 1 – 22 of 22) sorted by relevance

/aosp12/bionic/tests/
H A Dstruct_layout_test.cpp33 CHECK_SIZE(pthread_internal_t, 776); in tests()
34 CHECK_OFFSET(pthread_internal_t, next, 0); in tests()
35 CHECK_OFFSET(pthread_internal_t, prev, 8); in tests()
36 CHECK_OFFSET(pthread_internal_t, tid, 16); in tests()
37 CHECK_OFFSET(pthread_internal_t, attr, 24); in tests()
38 CHECK_OFFSET(pthread_internal_t, join_state, 80); in tests()
74 CHECK_SIZE(pthread_internal_t, 668); in tests()
75 CHECK_OFFSET(pthread_internal_t, next, 0); in tests()
76 CHECK_OFFSET(pthread_internal_t, prev, 4); in tests()
77 CHECK_OFFSET(pthread_internal_t, tid, 8); in tests()
[all …]
H A DAndroid.bp59 // Needed to test pthread_internal_t layout.
H A Dunistd_test.cpp442 pthread_internal_t* self = __get_thread(); in TEST()
/aosp12/bionic/libc/bionic/
H A Dpthread_internal.h65 class pthread_internal_t {
67 class pthread_internal_t* next;
68 class pthread_internal_t* prev;
176 __LIBC_HIDDEN__ void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread);
182 __LIBC_HIDDEN__ void __init_additional_stacks(pthread_internal_t*);
183 __LIBC_HIDDEN__ int __init_thread(pthread_internal_t* thread);
187 __LIBC_HIDDEN__ pthread_t __pthread_internal_add(pthread_internal_t* thread);
190 __LIBC_HIDDEN__ void __pthread_internal_remove(pthread_internal_t* thread);
191 __LIBC_HIDDEN__ void __pthread_internal_remove_and_free(pthread_internal_t* thread);
198 static inline __always_inline pthread_internal_t* __get_thread() { in __get_thread()
[all …]
H A Dpthread_internal.cpp45 static pthread_internal_t* g_thread_list = nullptr;
48 pthread_t __pthread_internal_add(pthread_internal_t* thread) { in __pthread_internal_add()
61 void __pthread_internal_remove(pthread_internal_t* thread) { in __pthread_internal_remove()
74 static void __pthread_internal_free(pthread_internal_t* thread) { in __pthread_internal_free()
81 void __pthread_internal_remove_and_free(pthread_internal_t* thread) { in __pthread_internal_remove_and_free()
87 pthread_internal_t* thread = __pthread_internal_find(thread_id, caller); in __pthread_internal_gettid()
91 pthread_internal_t* __pthread_internal_find(pthread_t thread_id, const char* caller) { in __pthread_internal_find()
92 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(thread_id); in __pthread_internal_find()
101 for (pthread_internal_t* t = g_thread_list; t != nullptr; t = t->next) { in __pthread_internal_find()
166 for (pthread_internal_t* t = g_thread_list; t != nullptr; t = t->next) { in android_run_on_all_threads()
H A Dpthread_create.cpp89 static void __init_alternate_signal_stack(pthread_internal_t* thread) { in __init_alternate_signal_stack()
111 static void __init_shadow_call_stack(pthread_internal_t* thread __unused) { in __init_shadow_call_stack()
137 void __init_additional_stacks(pthread_internal_t* thread) { in __init_additional_stacks()
142 int __init_thread(pthread_internal_t* thread) { in __init_thread()
278 stack_top = align_down(stack_top - sizeof(pthread_internal_t), 16); in __allocate_thread()
280 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(stack_top); in __allocate_thread()
284 memset(thread, 0, sizeof(pthread_internal_t)); in __allocate_thread()
315 pthread_internal_t* thread = __get_thread(); in __set_stack_and_tls_vma_name()
340 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(arg); in __pthread_start()
400 pthread_internal_t* thread = tcb->thread(); in pthread_create()
H A Dpthread_exit.cpp53 pthread_internal_t* thread = __get_thread(); in __pthread_cleanup_push()
62 pthread_internal_t* thread = __get_thread(); in __pthread_cleanup_pop()
74 pthread_internal_t* thread = __get_thread(); in pthread_exit()
H A D__cxa_thread_atexit_impl.cpp42 pthread_internal_t* thread = __get_thread(); in __cxa_thread_atexit_impl()
52 pthread_internal_t* thread = __get_thread(); in __cxa_thread_finalize()
H A Dclone.cpp48 pthread_internal_t* self = __get_thread(); in __start_thread()
88 pthread_internal_t* self = __get_thread(); in clone()
H A D__libc_init_main_thread.cpp47 static pthread_internal_t main_thread;
88 void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread) { in __init_tcb()
H A Dgettid.cpp35 pthread_internal_t* self = __get_thread(); in gettid()
H A Dpthread_attr.cpp245 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(t); in pthread_getattr_np()
H A Dgetpid.cpp36 pthread_internal_t* self = __get_thread(); in __get_cached_pid()
H A Dpthread_detach.cpp37 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_detach"); in pthread_detach()
H A Dfork.cpp39 pthread_internal_t* self = __get_thread(); in __clone_for_fork()
H A Dpthread_join.cpp43 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_join"); in pthread_join()
H A Dlibc_init_common.cpp109 pthread_internal_t* main_thread = __get_thread(); in __libc_add_main_thread()
H A Dndk_cruft.cpp368 pthread_internal_t* __get_thread() { in __get_thread()
/aosp12/bionic/libc/private/
H A Dbionic_tls.h49 class pthread_internal_t; variable
74 pthread_internal_t* thread() { in thread()
75 return static_cast<pthread_internal_t*>(tls_slot(TLS_SLOT_THREAD_ID)); in thread()
/aosp12/frameworks/libs/native_bridge_support/linker/
H A D__libc_init_main_thread.cpp46 auto host_thread = reinterpret_cast<pthread_internal_t*>(__native_bridge_get_host_pthread()); in __libc_init_main_thread_early()
/aosp12/bionic/docs/
H A Delf-tls.md518 The prototype currently allocates a `pthread_internal_t` object and static TLS in a single mmap'ed
590 the `pthread_internal_t` struct.
642 `pthread_internal_t` fields) become host accesses. Laying out TLS memory differently across
645 * A `pthread_t` is practically just a `pthread_internal_t*`, and some apps directly access the
646 `pthread_internal_t::tid` field. Past examples: http://b/17389248, [aosp/107467]. Reorganizing
647 the initial `pthread_internal_t` fields could break those apps.
802 trample on `pthread_internal_t`. We need something like `DF_STATIC_TLS`, but instead of
835 find `pthread_internal_t`, though, rather than assume a fixed offset. (XXX: I think it could be
H A Dstatus.md288 syscall or other, and sometimes update fields in the `pthread_internal_t`