瀏覽代碼

LibC: Make 'attributes' parameter for pthread_create const

Gunnar Beutner 2 年之前
父節點
當前提交
1b13d52a87
共有 2 個文件被更改,包括 3 次插入3 次删除
  1. 2 2
      Userland/Libraries/LibC/pthread.cpp
  2. 1 1
      Userland/Libraries/LibC/pthread.h

+ 2 - 2
Userland/Libraries/LibC/pthread.cpp

@@ -121,13 +121,13 @@ static int create_thread(pthread_t* thread, void* (*entry)(void*), void* argumen
 }
 
 // https://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_create.html
-int pthread_create(pthread_t* thread, pthread_attr_t* attributes, void* (*start_routine)(void*), void* argument_to_start_routine)
+int pthread_create(pthread_t* thread, pthread_attr_t const* attributes, void* (*start_routine)(void*), void* argument_to_start_routine)
 {
     if (!thread)
         return -EINVAL;
 
     PthreadAttrImpl default_attributes {};
-    PthreadAttrImpl** arg_attributes = reinterpret_cast<PthreadAttrImpl**>(attributes);
+    PthreadAttrImpl* const* arg_attributes = reinterpret_cast<PthreadAttrImpl* const*>(attributes);
 
     PthreadAttrImpl* used_attributes = arg_attributes ? *arg_attributes : &default_attributes;
 

+ 1 - 1
Userland/Libraries/LibC/pthread.h

@@ -15,7 +15,7 @@
 
 __BEGIN_DECLS
 
-int pthread_create(pthread_t*, pthread_attr_t*, void* (*)(void*), void*);
+int pthread_create(pthread_t*, pthread_attr_t const*, void* (*)(void*), void*);
 void pthread_exit(void*) __attribute__((noreturn));
 int pthread_kill(pthread_t, int);
 void pthread_cleanup_push(void (*)(void*), void*);