From: Florian Weimer Date: Thu, 30 Jan 2020 14:54:49 +0000 (+0100) Subject: nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271] X-Git-Tag: glibc-2.31~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9baa46aa7b1aa56c8fb313013bb9aecf4ed96504;p=thirdparty%2Fglibc.git nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271] Commit 1c3f9acf1f1f75faa7a28bf39af64afd ("nptl: Add struct_mutex.h") replaced a zero constant with the identifier PTHREAD_MUTEX_DEFAULT in the macro PTHREAD_MUTEX_INITIALIZER. However, that constant is not available in ISO C11 mode: In file included from /usr/include/bits/thread-shared-types.h:74, from /usr/include/bits/pthreadtypes.h:23, from /usr/include/pthread.h:26, from bug25271.c:1: bug25271.c:3:21: error: ‘PTHREAD_MUTEX_DEFAULT’ undeclared here (not in a function) 3 | pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER; | ^~~~~~~~~~~~~~~~~~~~~~~~~ This commit change the constant to the equivalent PTHREAD_MUTEX_TIMED_NP, which is in the POSIX extension namespace and thus always available. --- diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h index 7825737840e..44dd707896f 100644 --- a/sysdeps/nptl/pthread.h +++ b/sysdeps/nptl/pthread.h @@ -84,7 +84,7 @@ enum #define PTHREAD_MUTEX_INITIALIZER \ - { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_DEFAULT) } } + { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } } #ifdef __USE_GNU # define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } }