Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2008-09-26 20:15:50 +0400
committerJeff Johnston <jjohnstn@redhat.com>2008-09-26 20:15:50 +0400
commit610eefefddbf3537694b9ee43296a576e5e11b72 (patch)
treed8e0a4d843a997f69750a103640d185b2da21a9e
parent3a3affe5f9e7b797d96778e9f367c94403a0a2d9 (diff)
2008-09-25 Raphael Derossa Pereira <raphaelpereira@gmail.com>
* libc/include/pthread.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add new pthread_mutexattr_gettype and pthread_mutexattr_settype prototypes. * libc/include/sys/types.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add new mutex type values. (pthread_mutexattr_t)[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add type field.
-rw-r--r--newlib/ChangeLog10
-rw-r--r--newlib/libc/include/pthread.h11
-rw-r--r--newlib/libc/include/sys/types.h14
3 files changed, 35 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 0dee816a5..eb1f88b99 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,13 @@
+2008-09-25 Raphael Derossa Pereira <raphaelpereira@gmail.com>
+
+ * libc/include/pthread.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add
+ new pthread_mutexattr_gettype and pthread_mutexattr_settype
+ prototypes.
+ * libc/include/sys/types.h[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add
+ new mutex type values.
+ (pthread_mutexattr_t)[_UNIX98_THREAD_MUTEX_ATTRIBUTES]: Add type
+ field.
+
2008-09-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdlib/setenv_r.c (_unsetenv_r): Modify to return -1 only if
diff --git a/newlib/libc/include/pthread.h b/newlib/libc/include/pthread.h
index 1dc20bcc8..fccc14d70 100644
--- a/newlib/libc/include/pthread.h
+++ b/newlib/libc/include/pthread.h
@@ -57,6 +57,17 @@ int _EXFUN(pthread_mutexattr_getpshared,
int _EXFUN(pthread_mutexattr_setpshared,
(pthread_mutexattr_t *__attr, int __pshared));
+#if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES)
+
+/* Single UNIX Specification 2 Mutex Attributes types */
+
+int _EXFUN(pthread_mutexattr_gettype,
+ (_CONST pthread_mutexattr_t *__attr, int *__kind));
+int _EXFUN(pthread_mutexattr_settype,
+ (pthread_mutexattr_t *__attr, int __kind));
+
+#endif
+
/* Initializing and Destroying a Mutex, P1003.1c/Draft 10, p. 87 */
int _EXFUN(pthread_mutex_init,
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index 1813bdda8..3f1893c20 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -323,6 +323,17 @@ typedef struct {
#define PTHREAD_PRIO_PROTECT 2
#endif
+#if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES)
+
+/* Values for mutex type */
+
+#define PTHREAD_MUTEX_NORMAL 0
+#define PTHREAD_MUTEX_RECURSIVE 1
+#define PTHREAD_MUTEX_ERRORCHECK 2
+#define PTHREAD_MUTEX_DEFAULT 3
+
+#endif
+
typedef __uint32_t pthread_mutex_t; /* identify a mutex */
typedef struct {
@@ -334,6 +345,9 @@ typedef struct {
int prio_ceiling;
int protocol;
#endif
+#if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES)
+ int type;
+#endif
int recursive;
} pthread_mutexattr_t;