From 35a0641bde285dc13cc05566fcb928145953d4d9 Mon Sep 17 00:00:00 2001 From: klzgrad Date: Mon, 13 May 2024 19:08:53 +0800 Subject: [PATCH] base/allocator: Fix hanging in qemu-user with Musl It causes hanging in pthread_getattr_np() under qemu-user, see https://www.openwall.com/lists/musl/2017/06/15/9. --- src/base/allocator/partition_alloc_support.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/base/allocator/partition_alloc_support.cc b/src/base/allocator/partition_alloc_support.cc index 2f75663085..a1a2a743ca 100644 --- a/src/base/allocator/partition_alloc_support.cc +++ b/src/base/allocator/partition_alloc_support.cc @@ -1072,8 +1072,12 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( UmaHistogramCounts100("Memory.PartitionAlloc.PartitionRoot.ExtrasSize", 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::GetStackTop()); +#endif allocator_shim::internal::PartitionAllocMalloc::Allocator() ->EnableThreadCacheIfSupported();