Searched refs:pthread_internal_t (Results 1 – 21 of 21) sorted by relevance
/bionic/tests/ |
D | struct_layout_test.cpp | 33 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 …]
|
D | Android.bp | 60 // Needed to test pthread_internal_t layout.
|
D | unistd_test.cpp | 461 pthread_internal_t* self = __get_thread(); in TEST()
|
/bionic/libc/bionic/ |
D | pthread_internal.h | 67 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 …]
|
D | pthread_internal.cpp | 46 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 …]
|
D | pthread_create.cpp | 90 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()
|
D | pthread_exit.cpp | 53 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.cpp | 42 pthread_internal_t* thread = __get_thread(); in __cxa_thread_atexit_impl() 52 pthread_internal_t* thread = __get_thread(); in __cxa_thread_finalize()
|
D | clone.cpp | 48 pthread_internal_t* self = __get_thread(); in __start_thread() 88 pthread_internal_t* self = __get_thread(); in clone()
|
D | __libc_init_main_thread.cpp | 47 static pthread_internal_t main_thread; 88 void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread) { in __init_tcb()
|
D | gettid.cpp | 35 pthread_internal_t* self = __get_thread(); in gettid()
|
D | getpid.cpp | 36 pthread_internal_t* self = __get_thread(); in __get_cached_pid()
|
D | pthread_detach.cpp | 37 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_detach"); in pthread_detach()
|
D | fork.cpp | 39 pthread_internal_t* self = __get_thread(); in __clone_for_fork()
|
D | pthread_join.cpp | 43 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_join"); in pthread_join()
|
D | pthread_attr.cpp | 199 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(t); in pthread_getattr_np()
|
D | libc_init_common.cpp | 156 pthread_internal_t* main_thread = __get_thread(); in __libc_add_main_thread()
|
D | ndk_cruft.cpp | 368 pthread_internal_t* __get_thread() { in __get_thread()
|
/bionic/libc/private/ |
D | bionic_tls.h | 49 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/ |
D | elf-tls.md | 518 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
|
D | status.md | 353 syscall or other, and sometimes update fields in the `pthread_internal_t`
|