htl: Make pthread_mutex_t pointer-aligned

This is for future-proofing. On i386, it is 4-byte aligned anyway, but
on x86_64, we want it 8-byte aligned, not 4-byte aligned.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230214173722.428140-4-bugaevc@gmail.com>
This commit is contained in:
Sergey Bugaev 2023-02-14 20:37:22 +03:00 committed by Samuel Thibault
parent 04a558e669
commit af0a16a863

View File

@ -30,20 +30,23 @@ struct __pthread_mutex
int __shpid;
int __type;
int __flags;
unsigned int __reserved1;
unsigned int __reserved2;
union
{
unsigned int __reserved[2];
void *__pointer_aligned;
};
};
/* Static mutex initializers. */
#define __PTHREAD_MUTEX_INITIALIZER \
{ 0, 0, 0, 0, __PTHREAD_MUTEX_TIMED, 0, 0, 0 }
{ 0, 0, 0, 0, __PTHREAD_MUTEX_TIMED, 0, { { 0, 0 } } }
/* The +1 is to mantain binary compatibility with the old
* libpthread implementation. */
#define __PTHREAD_ERRORCHECK_MUTEX_INITIALIZER \
{ 0, 0, 0, 0, __PTHREAD_MUTEX_ERRORCHECK + 1, 0, 0, 0 }
{ 0, 0, 0, 0, __PTHREAD_MUTEX_ERRORCHECK + 1, 0, { { 0, 0 } } }
#define __PTHREAD_RECURSIVE_MUTEX_INITIALIZER \
{ 0, 0, 0, 0, __PTHREAD_MUTEX_RECURSIVE + 1, 0, 0, 0 }
{ 0, 0, 0, 0, __PTHREAD_MUTEX_RECURSIVE + 1, 0, { { 0, 0 } } }
#endif /* bits/types/struct___pthread_mutex.h */