From 1879f5127b7cd33ce0d5b89ce293f08d1b06bb7c Mon Sep 17 00:00:00 2001 From: Jussi Kivilinna Date: Tue, 28 Mar 2017 09:07:32 -0600 Subject: [PATCH] Fix PTHREAD_MUTEX_INITIALIZER which was not updated with last mutex changes. --- include/pthread.h | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/include/pthread.h b/include/pthread.h index edf943c9bb5..af6ef51e23e 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -295,10 +295,26 @@ struct pthread_mutex_s typedef struct pthread_mutex_s pthread_mutex_t; #define __PTHREAD_MUTEX_T_DEFINED 1 -#ifdef CONFIG_PTHREAD_MUTEX_TYPES -# define PTHREAD_MUTEX_INITIALIZER {-1, SEM_INITIALIZER(1), PTHREAD_MUTEX_DEFAULT, 0} +#ifndef CONFIG_PTHREAD_MUTEX_UNSAFE +# ifdef CONFIG_PTHREAD_MUTEX_DEFAULT_UNSAFE +# define __PTHREAD_MUTEX_DEFAULT_FLAGS 0 +# else +# define __PTHREAD_MUTEX_DEFAULT_FLAGS _PTHREAD_MFLAGS_ROBUST +# endif +#endif + +#if defined(CONFIG_PTHREAD_MUTEX_TYPES) && !defined(CONFIG_PTHREAD_MUTEX_UNSAFE) +# define PTHREAD_MUTEX_INITIALIZER {NULL, SEM_INITIALIZER(1), -1, \ + __PTHREAD_MUTEX_DEFAULT_FLAGS, \ + PTHREAD_MUTEX_DEFAULT, 0} +#elif defined(CONFIG_PTHREAD_MUTEX_TYPES) +# define PTHREAD_MUTEX_INITIALIZER {SEM_INITIALIZER(1), -1, \ + PTHREAD_MUTEX_DEFAULT, 0} +#elif !defined(CONFIG_PTHREAD_MUTEX_UNSAFE) +# define PTHREAD_MUTEX_INITIALIZER {NULL, SEM_INITIALIZER(1), -1,\ + __PTHREAD_MUTEX_DEFAULT_FLAGS} #else -# define PTHREAD_MUTEX_INITIALIZER {-1, SEM_INITIALIZER(1)} +# define PTHREAD_MUTEX_INITIALIZER {SEM_INITIALIZER(1), -1} #endif struct pthread_barrierattr_s