Home
last modified time | relevance | path

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

/bionic/tests/
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()
39 CHECK_OFFSET(pthread_internal_t, cleanup_stack, 88); in tests()
40 CHECK_OFFSET(pthread_internal_t, start_routine, 96); in tests()
41 CHECK_OFFSET(pthread_internal_t, start_routine_arg, 104); in tests()
42 CHECK_OFFSET(pthread_internal_t, return_value, 112); in tests()
[all …]
DAndroid.bp60 // Needed to test pthread_internal_t layout.
Dunistd_test.cpp461 pthread_internal_t* self = __get_thread(); in TEST()
/bionic/libc/bionic/
Dpthread_internal.h67 class pthread_internal_t {
69 class pthread_internal_t* next;
70 class pthread_internal_t* prev;
195 __LIBC_HIDDEN__ void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread);
201 __LIBC_HIDDEN__ void __init_additional_stacks(pthread_internal_t*);
202 __LIBC_HIDDEN__ int __init_thread(pthread_internal_t* thread);
206 __LIBC_HIDDEN__ pthread_t __pthread_internal_add(pthread_internal_t* thread);
207 __LIBC_HIDDEN__ pthread_internal_t* __pthread_internal_find(pthread_t pthread_id, const char* calle…
209 __LIBC_HIDDEN__ void __pthread_internal_remove(pthread_internal_t* thread);
210 __LIBC_HIDDEN__ void __pthread_internal_remove_and_free(pthread_internal_t* thread);
[all …]
Dpthread_internal.cpp46 static pthread_internal_t* g_thread_list = nullptr;
49 pthread_t __pthread_internal_add(pthread_internal_t* thread) { in __pthread_internal_add()
62 void __pthread_internal_remove(pthread_internal_t* thread) { in __pthread_internal_remove()
75 static void __pthread_internal_free(pthread_internal_t* thread) { in __pthread_internal_free()
82 void __pthread_internal_remove_and_free(pthread_internal_t* thread) { in __pthread_internal_remove_and_free()
88 pthread_internal_t* thread = __pthread_internal_find(thread_id, caller); in __pthread_internal_gettid()
92 pthread_internal_t* __pthread_internal_find(pthread_t thread_id, const char* caller) { in __pthread_internal_find()
93 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(thread_id); in __pthread_internal_find()
102 for (pthread_internal_t* t = g_thread_list; t != nullptr; t = t->next) { in __pthread_internal_find()
194 for (pthread_internal_t* t = g_thread_list; t != nullptr; t = t->next) { in __pthread_internal_remap_stack_with_mte()
[all …]
Dpthread_create.cpp90 static void __init_alternate_signal_stack(pthread_internal_t* thread) { in __init_alternate_signal_stack()
118 static void __init_shadow_call_stack(pthread_internal_t* thread __unused) { in __init_shadow_call_stack()
150 void __init_additional_stacks(pthread_internal_t* thread) { in __init_additional_stacks()
155 int __init_thread(pthread_internal_t* thread) { in __init_thread()
295 stack_top = align_down(stack_top - sizeof(pthread_internal_t), 16); in __allocate_thread()
297 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(stack_top); in __allocate_thread()
301 memset(thread, 0, sizeof(pthread_internal_t)); in __allocate_thread()
332 pthread_internal_t* thread = __get_thread(); in __set_stack_and_tls_vma_name()
357 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(arg); in __pthread_start()
417 pthread_internal_t* thread = tcb->thread(); in pthread_create()
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()
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()
Dclone.cpp48 pthread_internal_t* self = __get_thread(); in __start_thread()
88 pthread_internal_t* self = __get_thread(); in clone()
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()
Dgettid.cpp35 pthread_internal_t* self = __get_thread(); in gettid()
Dgetpid.cpp36 pthread_internal_t* self = __get_thread(); in __get_cached_pid()
Dpthread_detach.cpp37 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_detach"); in pthread_detach()
Dfork.cpp39 pthread_internal_t* self = __get_thread(); in __clone_for_fork()
Dpthread_join.cpp43 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_join"); in pthread_join()
Dpthread_attr.cpp199 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(t); in pthread_getattr_np()
Dlibc_init_common.cpp156 pthread_internal_t* main_thread = __get_thread(); in __libc_add_main_thread()
Dndk_cruft.cpp368 pthread_internal_t* __get_thread() { in __get_thread()
/bionic/libc/private/
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()
/bionic/docs/
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
Dstatus.md353 syscall or other, and sometimes update fields in the `pthread_internal_t`