From 8a3f35ae17d167c397bf7903b764184248daf67f Mon Sep 17 00:00:00 2001 From: klzgrad Date: Sun, 13 Sep 2026 02:25:59 +0800 Subject: [PATCH] musl: base: Work around thread_local breakage in musl 1.1.19 The bitmask field is corrupted in musl 1.1.19 and fixed in 1.1.24. This workaround makes it work even for old OpenWrt 18.06. These virtual methods are for test only and it's harmless to remove it. --- src/base/threading/platform_thread.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/base/threading/platform_thread.h b/src/base/threading/platform_thread.h index 60ffb6de76..7ef83581e5 100644 --- a/src/base/threading/platform_thread.h +++ b/src/base/threading/platform_thread.h @@ -485,7 +485,7 @@ class BASE_EXPORT ThreadTypeManager { uint32_t bitmask = 0; }; ThreadTypeManager() = default; - virtual ~ThreadTypeManager() = default; + ~ThreadTypeManager() = default; ThreadTypeManager(const ThreadTypeManager&) = delete; ThreadTypeManager& operator=(const ThreadTypeManager&) = delete; @@ -497,7 +497,7 @@ class BASE_EXPORT ThreadTypeManager { bool HasLeases() const; private: - virtual void SetCurrentThreadTypeImpl(ThreadType thread_type, + void SetCurrentThreadTypeImpl(ThreadType thread_type, MessagePumpType pump_type_hint); // `default_thread_type_` can be nullopt to be able to express the state