@@ -112,8 +112,8 @@ public:
112
112
minimum_load_factor_(DEFAULT_MINIMUM_LOAD_FACTOR),
113
113
maximum_hashpower_(NO_MAXIMUM_HASHPOWER),
114
114
max_num_worker_threads_(0 ) {
115
- all_locks_.emplace_back (std::min ( bucket_count (), size_type ( kMaxNumLocks )),
116
- get_allocator ( ));
115
+ all_locks_.emplace_back (get_allocator ());
116
+ all_locks_. back (). resize ( std::min ( bucket_count (), size_type ( kMaxNumLocks ) ));
117
117
}
118
118
119
119
/* *
@@ -695,7 +695,8 @@ private:
695
695
696
696
void add_locks_from_other (const cuckoohash_map &other) {
697
697
locks_t &other_locks = other.get_current_locks ();
698
- all_locks_.emplace_back (other_locks.size (), get_allocator ());
698
+ all_locks_.emplace_back (get_allocator ());
699
+ all_locks_.back ().resize (other_locks.size ());
699
700
std::copy (other_locks.begin (), other_locks.end (),
700
701
get_current_locks ().begin ());
701
702
}
@@ -1822,8 +1823,8 @@ private:
1822
1823
return ;
1823
1824
}
1824
1825
1825
- locks_t new_locks (std::min ( size_type ( kMaxNumLocks ), new_bucket_count),
1826
- get_allocator ( ));
1826
+ locks_t new_locks (get_allocator ());
1827
+ new_locks. resize ( std::min ( size_type ( kMaxNumLocks ), new_bucket_count ));
1827
1828
assert (new_locks.size () > current_locks.size ());
1828
1829
std::copy (current_locks.begin (), current_locks.end (), new_locks.begin ());
1829
1830
for (spinlock &lock : new_locks) {
0 commit comments