The attached patch adds `const` qualifiers that were missing.

-- 
Best regards,
LH_Mouse

From 5be179b4611c2174c73ee5947d4d10e031069381 Mon Sep 17 00:00:00 2001
From: Liu Hao <lh_mo...@126.com>
Date: Sat, 13 Jan 2018 20:14:42 +0800
Subject: [PATCH] winpthreads: Fix prototype of
 `pthread_attr_{getstackaddr,getschedpolicy}`.

The first parameter of either function is a pointer to `const pthread_attr_t`.
This fixes https://sourceforge.net/p/mingw-w64/bugs/695/.

Reference: 
http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_attr_getstackaddr.html
Reference: 
http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_attr_getschedpolicy.html
Signed-off-by: Liu Hao <lh_mo...@126.com>
---
 mingw-w64-libraries/winpthreads/include/pthread.h | 4 ++--
 mingw-w64-libraries/winpthreads/src/sched.c       | 2 +-
 mingw-w64-libraries/winpthreads/src/thread.c      | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/mingw-w64-libraries/winpthreads/include/pthread.h 
b/mingw-w64-libraries/winpthreads/include/pthread.h
index 07e56362..e9d28762 100644
--- a/mingw-w64-libraries/winpthreads/include/pthread.h
+++ b/mingw-w64-libraries/winpthreads/include/pthread.h
@@ -262,7 +262,7 @@ int WINPTHREAD_API pthread_attr_getschedparam(const 
pthread_attr_t *attr, struct
 int WINPTHREAD_API pthread_getschedparam(pthread_t thread, int *pol, struct 
sched_param *param);
 int WINPTHREAD_API pthread_setschedparam(pthread_t thread, int pol, const 
struct sched_param *param);
 int WINPTHREAD_API pthread_attr_setschedpolicy (pthread_attr_t *attr, int pol);
-int WINPTHREAD_API pthread_attr_getschedpolicy (pthread_attr_t *attr, int 
*pol);
+int WINPTHREAD_API pthread_attr_getschedpolicy (const pthread_attr_t *attr, 
int *pol);
 
 /* synchronization objects */
 typedef void   *pthread_spinlock_t;
@@ -362,7 +362,7 @@ int WINPTHREAD_API 
pthread_attr_setinheritsched(pthread_attr_t *a, int flag);
 int WINPTHREAD_API pthread_attr_getinheritsched(const pthread_attr_t *a, int 
*flag);
 int WINPTHREAD_API pthread_attr_setscope(pthread_attr_t *a, int flag);
 int WINPTHREAD_API pthread_attr_getscope(const pthread_attr_t *a, int *flag);
-int WINPTHREAD_API pthread_attr_getstackaddr(pthread_attr_t *attr, void 
**stack);
+int WINPTHREAD_API pthread_attr_getstackaddr(const pthread_attr_t *attr, void 
**stack);
 int WINPTHREAD_API pthread_attr_setstackaddr(pthread_attr_t *attr, void 
*stack);
 int WINPTHREAD_API pthread_attr_getstacksize(const pthread_attr_t *attr, 
size_t *size);
 int WINPTHREAD_API pthread_attr_setstacksize(pthread_attr_t *attr, size_t 
size);
diff --git a/mingw-w64-libraries/winpthreads/src/sched.c 
b/mingw-w64-libraries/winpthreads/src/sched.c
index 9f9754cf..75a579db 100644
--- a/mingw-w64-libraries/winpthreads/src/sched.c
+++ b/mingw-w64-libraries/winpthreads/src/sched.c
@@ -78,7 +78,7 @@ int pthread_attr_setschedpolicy (pthread_attr_t *attr, int 
pol)
   return 0;
 }
 
-int pthread_attr_getschedpolicy (pthread_attr_t *attr, int *pol)
+int pthread_attr_getschedpolicy (const pthread_attr_t *attr, int *pol)
 {
   if (!attr || !pol)
     return EINVAL;
diff --git a/mingw-w64-libraries/winpthreads/src/thread.c 
b/mingw-w64-libraries/winpthreads/src/thread.c
index 2e6fe610..fafd915b 100644
--- a/mingw-w64-libraries/winpthreads/src/thread.c
+++ b/mingw-w64-libraries/winpthreads/src/thread.c
@@ -1377,7 +1377,7 @@ pthread_attr_getscope (const pthread_attr_t *a, int *flag)
 }
 
 int
-pthread_attr_getstackaddr (pthread_attr_t *attr, void **stack)
+pthread_attr_getstackaddr (const pthread_attr_t *attr, void **stack)
 {
   *stack = attr->stack;
   return 0;
-- 
2.15.0

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to