musl: allocator: Fix hanging in qemu-user

It causes hanging in pthread_getattr_np() under qemu-user, see
https://www.openwall.com/lists/musl/2017/06/15/9.
This commit is contained in:
klzgrad 2024-05-13 19:08:53 +08:00
parent 410cb4d6ef
commit 93d6a3c8b6

View File

@ -1109,8 +1109,12 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit(
UmaHistogramCounts100("Memory.PartitionAlloc.PartitionRoot.ExtrasSize", UmaHistogramCounts100("Memory.PartitionAlloc.PartitionRoot.ExtrasSize",
int(extras_size)); int(extras_size));
#if !defined(__MUSL__)
// This call causes hanging in pthread_getattr_np() under qemu-user, see
// https://www.openwall.com/lists/musl/2017/06/15/9.
partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated( partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated(
partition_alloc::internal::GetStackTop()); partition_alloc::internal::GetStackTop());
#endif
allocator_shim::internal::PartitionAllocMalloc::Allocator() allocator_shim::internal::PartitionAllocMalloc::Allocator()
->EnableThreadCacheIfSupported(); ->EnableThreadCacheIfSupported();