Home
last modified time | relevance | path

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

/bionic/libc/bionic/
Dpthread_internal.cpp42 static pthread_internal_t* g_thread_list = nullptr;
45 pthread_t __pthread_internal_add(pthread_internal_t* thread) { in __pthread_internal_add()
58 void __pthread_internal_remove(pthread_internal_t* thread) { in __pthread_internal_remove()
71 static void __pthread_internal_free(pthread_internal_t* thread) { in __pthread_internal_free()
78 void __pthread_internal_remove_and_free(pthread_internal_t* thread) { in __pthread_internal_remove_and_free()
84 pthread_internal_t* thread = __pthread_internal_find(thread_id, caller); in __pthread_internal_gettid()
88 pthread_internal_t* __pthread_internal_find(pthread_t thread_id, const char* caller) { in __pthread_internal_find()
89 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(thread_id); in __pthread_internal_find()
98 for (pthread_internal_t* t = g_thread_list; t != nullptr; t = t->next) { in __pthread_internal_find()
Dpthread_internal.h65 class pthread_internal_t {
67 class pthread_internal_t* next;
68 class pthread_internal_t* prev;
156 __LIBC_HIDDEN__ void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread);
162 __LIBC_HIDDEN__ void __init_additional_stacks(pthread_internal_t*);
163 __LIBC_HIDDEN__ int __init_thread(pthread_internal_t* thread);
166 __LIBC_HIDDEN__ pthread_t __pthread_internal_add(pthread_internal_t* thread);
167 __LIBC_HIDDEN__ pthread_internal_t* __pthread_internal_find(pthread_t pthread_id, const char* calle…
169 __LIBC_HIDDEN__ void __pthread_internal_remove(pthread_internal_t* thread);
170 __LIBC_HIDDEN__ void __pthread_internal_remove_and_free(pthread_internal_t* thread);
[all …]
Dpthread_create.cpp59 void __init_tcb(bionic_tcb* tcb, pthread_internal_t* thread) { in __init_tcb()
106 static void __init_alternate_signal_stack(pthread_internal_t* thread) { in __init_alternate_signal_stack()
128 static void __init_shadow_call_stack(pthread_internal_t* thread __unused) { in __init_shadow_call_stack()
154 void __init_additional_stacks(pthread_internal_t* thread) { in __init_additional_stacks()
159 int __init_thread(pthread_internal_t* thread) { in __init_thread()
293 stack_top = align_down(stack_top - sizeof(pthread_internal_t), 16); in __allocate_thread()
295 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(stack_top); in __allocate_thread()
299 memset(thread, 0, sizeof(pthread_internal_t)); in __allocate_thread()
326 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(arg); in __pthread_start()
373 pthread_internal_t* thread = tcb->thread(); in pthread_create()
Dpthread_exit.cpp52 pthread_internal_t* thread = __get_thread(); in __pthread_cleanup_push()
61 pthread_internal_t* thread = __get_thread(); in __pthread_cleanup_pop()
73 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()
Dgettid.cpp35 pthread_internal_t* self = __get_thread(); in gettid()
Dgetpid.cpp36 pthread_internal_t* self = __get_thread(); in __get_cached_pid()
Dfork.cpp40 pthread_internal_t* self = __get_thread(); in fork()
Dpthread_detach.cpp37 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_detach"); in pthread_detach()
Dclone.cpp48 pthread_internal_t* self = __get_thread(); in __start_thread()
88 pthread_internal_t* self = __get_thread(); in clone()
Dpthread_join.cpp43 pthread_internal_t* thread = __pthread_internal_find(t, "pthread_join"); in pthread_join()
D__libc_init_main_thread.cpp47 static pthread_internal_t main_thread;
Dpthread_attr.cpp244 pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(t); in pthread_getattr_np()
Dlibc_init_common.cpp88 pthread_internal_t* main_thread = __get_thread(); in __libc_add_main_thread()
Dndk_cruft.cpp367 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.md256 syscall or other, and sometimes update fields in the `pthread_internal_t`