From baf7e247e3fce24acdbb5df2ea1b044ab375711a Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sat, 7 Dec 2019 12:47:46 -0700 Subject: [PATCH] LibPThread: Add pthread_set/getname_np These wrappers call the set_thread_name and get_thread_name syscalls respectively. --- Libraries/LibPthread/pthread.cpp | 14 ++++++++++++-- Libraries/LibPthread/pthread.h | 3 +++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Libraries/LibPthread/pthread.cpp b/Libraries/LibPthread/pthread.cpp index 637ebab3bd..7aeaa49b6d 100644 --- a/Libraries/LibPthread/pthread.cpp +++ b/Libraries/LibPthread/pthread.cpp @@ -23,9 +23,9 @@ constexpr size_t highest_reasonable_stack_size = 8 * MB; // That's the default i extern "C" { -static int create_thread(void* (*entry)(void*), void* argument, void* stack) +static int create_thread(void* (*entry)(void*), void* argument, void* thread_params) { - return syscall(SC_create_thread, entry, argument, stack); + return syscall(SC_create_thread, entry, argument, thread_params); } static void exit_thread(void* code) @@ -537,4 +537,14 @@ int pthread_setspecific(pthread_key_t key, const void* value) t_specifics.values[key] = const_cast(value); return 0; } +int pthread_setname_np(pthread_t thread, const char* buffer, int buffer_size) +{ + return syscall(SC_set_thread_name, thread, buffer, buffer_size); } + +int pthread_getname_np(pthread_t thread, char* buffer, int buffer_size) +{ + return syscall(SC_get_thread_name, thread, buffer, buffer_size); +} + +} // extern "C" diff --git a/Libraries/LibPthread/pthread.h b/Libraries/LibPthread/pthread.h index 986a6b376f..3fc2307124 100644 --- a/Libraries/LibPthread/pthread.h +++ b/Libraries/LibPthread/pthread.h @@ -81,4 +81,7 @@ int pthread_mutexattr_init(pthread_mutexattr_t*); int pthread_mutexattr_settype(pthread_mutexattr_t*, int); int pthread_mutexattr_destroy(pthread_mutexattr_t*); +int pthread_setname_np(pthread_t, const char*, int); +int pthread_getname_np(pthread_t, char*, int); + __END_DECLS