diff options
author | Florian Weimer <fweimer@redhat.com> | 2025-03-13 06:07:07 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2025-03-13 07:43:33 +0100 |
commit | dbc5a50d12eff4cb3f782129029d04b8a76f58e7 (patch) | |
tree | 5f738f7e104bc756e820d098743f9136abe95dad | |
parent | a8e9022e0f829d44a818c642fc85b3bfbd26a514 (diff) | |
download | glibc-dbc5a50d12eff4cb3f782129029d04b8a76f58e7.zip glibc-dbc5a50d12eff4cb3f782129029d04b8a76f58e7.tar.gz glibc-dbc5a50d12eff4cb3f782129029d04b8a76f58e7.tar.bz2 |
nptl: PTHREAD_COND_INITIALIZER compatibility with pre-2.41 versions (bug 32786)
The new initializer and struct layout does not initialize the
__g_signals field in the old struct layout before the change in
commit c36fc50781995e6758cae2b6927839d0157f213c ("nptl: Remove
g_refs from condition variables"). Bring back fields at the end
of struct __pthread_cond_s, so that they are again zero-initialized.
Reviewed-by: Sam James <sam@gentoo.org>
-rw-r--r-- | sysdeps/nptl/bits/thread-shared-types.h | 2 | ||||
-rw-r--r-- | sysdeps/nptl/pthread.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h index 7c24c0a..e614c7f 100644 --- a/sysdeps/nptl/bits/thread-shared-types.h +++ b/sysdeps/nptl/bits/thread-shared-types.h @@ -99,6 +99,8 @@ struct __pthread_cond_s unsigned int __g1_orig_size; unsigned int __wrefs; unsigned int __g_signals[2]; + unsigned int __unused_initialized_1; + unsigned int __unused_initialized_2; }; typedef unsigned int __tss_t; diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h index b4d10a3..92957a6 100644 --- a/sysdeps/nptl/pthread.h +++ b/sysdeps/nptl/pthread.h @@ -152,7 +152,7 @@ enum /* Conditional variable handling. */ -#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0} } } +#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } } /* Cleanup buffers */ |