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