2626#include < boost/nowide/fstream.hpp>
2727
2828#include < regex>
29+ #include < shared_mutex>
2930
3031#include < primitives/log.h>
3132DECLARE_STATIC_LOGGER (logger, " package" );
@@ -196,8 +197,8 @@ void cleanPackages(const String &s, int flags)
196197
197198void cleanPackage (const Package &pkg, int flags)
198199{
199- static std::map <Package, int > cleaned_packages;
200- static shared_mutex m;
200+ static std::unordered_map <Package, int > cleaned_packages;
201+ static std:: shared_mutex m;
201202
202203 static const auto cache_dir_bin = enumerate_files (directories.storage_dir_bin );
203204 static const auto cache_dir_exp = enumerate_files (directories.storage_dir_exp );
@@ -208,7 +209,7 @@ void cleanPackage(const Package &pkg, int flags)
208209
209210 // only clean yet uncleaned flags
210211 {
211- std::shared_lock<shared_mutex> lock (m);
212+ std::shared_lock<std:: shared_mutex> lock (m);
212213 auto i = cleaned_packages.find (pkg);
213214 if (i != cleaned_packages.end ())
214215 flags = flags & ~i->second ;
@@ -285,7 +286,7 @@ void cleanPackage(const Package &pkg, int flags)
285286
286287 // save cleaned packages
287288 {
288- std::lock_guard<shared_mutex> lock (m);
289+ std::lock_guard<std:: shared_mutex> lock (m);
289290 cleaned_packages[pkg] |= flags;
290291 }
291292}
@@ -296,9 +297,9 @@ void cleanPackages(const PackagesSet &pkgs, int flags)
296297 cleanPackage (pkg, flags);
297298}
298299
299- std::map <int , String> CleanTarget::getStringsById ()
300+ std::unordered_map <int , String> CleanTarget::getStringsById ()
300301{
301- static std::map <int , String> m
302+ static std::unordered_map <int , String> m
302303 {
303304#define ADD (x ) { CleanTarget::x, boost::to_lower_copy (String (#x)) }
304305
@@ -314,10 +315,10 @@ std::map<int, String> CleanTarget::getStringsById()
314315 return m;
315316}
316317
317- std::map <String, int > CleanTarget::getStrings ()
318+ std::unordered_map <String, int > CleanTarget::getStrings ()
318319{
319320 auto m = CleanTarget::getStringsById ();
320- std::map <String, int > m2;
321+ std::unordered_map <String, int > m2;
321322 for (auto &s : m)
322323 m2[s.second ] = s.first ;
323324 return m2;
0 commit comments