diff --git a/porting/liteos_m/kernel/include/bits/alltypes.h b/porting/liteos_m/kernel/include/bits/alltypes.h index 2d10e80a2ede94b3b96f178a08ec521a440c175b..723ae6850876fd60f5841eedfae1d9c65313deed 100644 --- a/porting/liteos_m/kernel/include/bits/alltypes.h +++ b/porting/liteos_m/kernel/include/bits/alltypes.h @@ -550,7 +550,7 @@ typedef struct { #endif #if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) -typedef struct { unsigned int magic; unsigned int handle; } pthread_mutex_t; +typedef struct { unsigned int magic; unsigned int handle; pthread_mutexattr_t stAttr;} pthread_mutex_t; #define __DEFINED_pthread_mutex_t #endif diff --git a/porting/liteos_m/kernel/include/pthread.h b/porting/liteos_m/kernel/include/pthread.h index 8291cdef282776b05a0fefb8a374c471f0733325..a951f63f64dee411cf4c8cce8d1a56cc28b9716b 100644 --- a/porting/liteos_m/kernel/include/pthread.h +++ b/porting/liteos_m/kernel/include/pthread.h @@ -57,9 +57,10 @@ extern "C" { #define _MUX_MAGIC 0xEBCFDEA0 #define _MUX_INVALID_HANDLE 0xEEEEEEEF -#define PTHREAD_MUTEX_INITIALIZER { _MUX_MAGIC, _MUX_INVALID_HANDLE } +#define PTHREAD_MUTEXATTR_INITIALIZER { PTHREAD_MUTEX_RECURSIVE } +#define PTHREAD_MUTEX_INITIALIZER { _MUX_MAGIC, _MUX_INVALID_HANDLE, PTHREAD_MUTEXATTR_INITIALIZER } #ifdef _GNU_SOURCE -#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { _MUX_MAGIC, _MUX_INVALID_HANDLE } +#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { _MUX_MAGIC, _MUX_INVALID_HANDLE, PTHREAD_MUTEXATTR_INITIALIZER } #endif #define PTHREAD_RWLOCK_INITIALIZER {{{0}}} #define PTHREAD_COND_INITIALIZER {{{0}}} @@ -90,9 +91,6 @@ __attribute__((const)) pthread_t pthread_self(void); int pthread_equal(pthread_t, pthread_t); -#ifndef __cplusplus -#define pthread_equal(x,y) ((x)==(y)) -#endif int pthread_setcancelstate(int, int *); int pthread_setcanceltype(int, int *);