diff --git a/userspace/libraries/LibC/include/pthread.h b/userspace/libraries/LibC/include/pthread.h index 89363a2e..afc8e65d 100644 --- a/userspace/libraries/LibC/include/pthread.h +++ b/userspace/libraries/LibC/include/pthread.h @@ -166,6 +166,9 @@ int pthread_spin_unlock(pthread_spinlock_t* lock); void pthread_cleanup_pop(int execute); void pthread_cleanup_push(void (*routine)(void*), void* arg); +// non portable APIs +int pthread_getattr_np(pthread_t thread, pthread_attr_t* attr); + #define _pthread_equal(t1, t2) ((t1) == (t2)) #define _pthread_self() (_get_uthread()) diff --git a/userspace/libraries/LibC/pthread.cpp b/userspace/libraries/LibC/pthread.cpp index d2bf8889..68c98d02 100644 --- a/userspace/libraries/LibC/pthread.cpp +++ b/userspace/libraries/LibC/pthread.cpp @@ -1316,6 +1316,12 @@ int pthread_barrier_wait(pthread_barrier_t* barrier) return 0; } +int pthread_getattr_np(pthread_t thread, pthread_attr_t* attr) +{ + *attr = thread->attr; + return 0; +} + static void load_dynamic_tls_module(size_t module) { auto* uthread = _get_uthread();