nptl: Avoid using PTHREAD_MUTEX_DEFAULT in macro definition [BZ #25271]
commit9baa46aa7b1aa56c8fb313013bb9aecf4ed96504
authorFlorian Weimer <fweimer@redhat.com>
Thu, 30 Jan 2020 14:54:49 +0000 (30 15:54 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 30 Jan 2020 14:54:49 +0000 (30 15:54 +0100)
tree795d2244b683dc9e8c027146a239951542d01d7d
parent352bb99754ae7c83ff1b974f9c52244e974c9410
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.
sysdeps/nptl/pthread.h