Fix the pthread_setname_np test.
Fix the pthread_setname_np test to take into account that emulator kernels are so old that they don't support setting the name of other threads. The CLONE_DETACHED thread is obsolete since 2.5 kernels. Rename kernel_id to tid. Fix the signature of __pthread_clone. Clean up the clone and pthread_setname_np implementations slightly. Change-Id: I16c2ff8845b67530544bbda9aa6618058603066d
This commit is contained in:
@@ -73,14 +73,15 @@ void __libc_init_tls(KernelArgumentBlock& args) {
|
||||
unsigned stack_size = 128 * 1024;
|
||||
unsigned stack_bottom = stack_top - stack_size;
|
||||
|
||||
static void* tls[BIONIC_TLS_SLOTS];
|
||||
static pthread_internal_t thread;
|
||||
thread.tid = gettid();
|
||||
thread.tls = tls;
|
||||
pthread_attr_init(&thread.attr);
|
||||
pthread_attr_setstack(&thread.attr, (void*) stack_bottom, stack_size);
|
||||
_init_thread(&thread, gettid(), false);
|
||||
|
||||
static void* tls_area[BIONIC_TLS_SLOTS];
|
||||
__init_tls(tls_area, &thread);
|
||||
tls_area[TLS_SLOT_BIONIC_PREINIT] = &args;
|
||||
_init_thread(&thread, false);
|
||||
__init_tls(&thread);
|
||||
tls[TLS_SLOT_BIONIC_PREINIT] = &args;
|
||||
}
|
||||
|
||||
void __libc_init_common(KernelArgumentBlock& args) {
|
||||
|
||||
Reference in New Issue
Block a user