+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
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,
#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 {
int prio_ceiling;
int protocol;
#endif
+#if defined(_UNIX98_THREAD_MUTEX_ATTRIBUTES)
+ int type;
+#endif
int recursive;
} pthread_mutexattr_t;