From 8a284fb26633b8d84f4d61da1dec39b8f092cfb6 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