This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH 4/6] RTEMS: Make pthread_rwlock_t self-contained
- From: Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- To: newlib at sourceware dot org
- Date: Thu, 5 Oct 2017 14:55:56 +0200
- Subject: [PATCH 4/6] RTEMS: Make pthread_rwlock_t self-contained
- Authentication-results: sourceware.org; auth=none
- References: <20171005125558.3191-1-sebastian.huber@embedded-brains.de>
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
---
newlib/libc/sys/rtems/include/sys/_pthreadtypes.h | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/newlib/libc/sys/rtems/include/sys/_pthreadtypes.h b/newlib/libc/sys/rtems/include/sys/_pthreadtypes.h
index 4cb15d14b..5638f1569 100644
--- a/newlib/libc/sys/rtems/include/sys/_pthreadtypes.h
+++ b/newlib/libc/sys/rtems/include/sys/_pthreadtypes.h
@@ -206,9 +206,14 @@ typedef struct {
/* POSIX Reader/Writer Lock Types */
#if defined(_POSIX_READER_WRITER_LOCKS)
-typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */
+typedef struct {
+ unsigned long _flags;
+ struct _Thread_queue_Queue _Queue;
+ unsigned int _current_state;
+ unsigned int _number_of_readers;
+} pthread_rwlock_t;
-#define _PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) 0xFFFFFFFF)
+#define _PTHREAD_RWLOCK_INITIALIZER { 0, _THREAD_QUEUE_INITIALIZER, 0, 0 }
typedef struct {
int is_initialized; /* is this structure initialized? */
--
2.12.3