OSDN Git Service

2008-09-25 Raphael Derossa Pereira <raphaelpereira@gmail.com>
authorjjohnstn <jjohnstn>
Fri, 26 Sep 2008 16:15:49 +0000 (16:15 +0000)
committerjjohnstn <jjohnstn>
Fri, 26 Sep 2008 16:15:49 +0000 (16:15 +0000)
        * 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.

newlib/ChangeLog
newlib/libc/include/pthread.h
newlib/libc/include/sys/types.h

index 0dee816..eb1f88b 100644 (file)
@@ -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
index 1dc20bc..fccc14d 100644 (file)
@@ -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,
index 1813bdd..3f1893c 100644 (file)
@@ -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;