From 4482031329b9c886c931ad420bf8209e2970a2b4 Mon Sep 17 00:00:00 2001 From: joaquintides Date: Wed, 29 Mar 2023 16:45:15 +0200 Subject: [PATCH] made concurrent_table::thread_counter static --- include/boost/unordered/detail/foa/concurrent_table.hpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/boost/unordered/detail/foa/concurrent_table.hpp b/include/boost/unordered/detail/foa/concurrent_table.hpp index 4272bedc..5bd4d510 100644 --- a/include/boost/unordered/detail/foa/concurrent_table.hpp +++ b/include/boost/unordered/detail/foa/concurrent_table.hpp @@ -656,7 +656,6 @@ private: shared_lock_guard shared_access()const { - // TODO: make this more sophisticated (even distribution) thread_local auto id=(++thread_counter)%mutexes.size(); return shared_lock_guard{mutexes[id]}; @@ -1051,11 +1050,13 @@ private: } #endif - /* TODO: thread_counter should be static */ - mutable std::atomic thread_counter{0}; - mutable multimutex_type mutexes; + static std::atomic thread_counter; + mutable multimutex_type mutexes; }; +template +std::atomic concurrent_table::thread_counter=0; + #if defined(BOOST_MSVC) #pragma warning(pop) /* C4714 */ #endif