diff options
Diffstat (limited to 'newlib/libc')
-rw-r--r-- | newlib/libc/include/pthread.h | 11 | ||||
-rw-r--r-- | newlib/libc/include/sys/types.h | 14 |
2 files changed, 25 insertions, 0 deletions
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; |