Replace malloc with new for LRU Cache Handle
This commit is contained in:
parent
a9ca9107b9
commit
3a98a7ae7f
@ -74,7 +74,7 @@ struct LRUHandle {
|
|||||||
void Free() {
|
void Free() {
|
||||||
assert((refs == 1 && in_cache) || (refs == 0 && !in_cache));
|
assert((refs == 1 && in_cache) || (refs == 0 && !in_cache));
|
||||||
(*deleter)(key(), value);
|
(*deleter)(key(), value);
|
||||||
free(this);
|
delete[] reinterpret_cast<char*>(this);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -390,8 +390,8 @@ Cache::Handle* LRUCache::Insert(
|
|||||||
// Allocate the memory here outside of the mutex
|
// Allocate the memory here outside of the mutex
|
||||||
// If the cache is full, we'll have to release it
|
// If the cache is full, we'll have to release it
|
||||||
// It shouldn't happen very often though.
|
// It shouldn't happen very often though.
|
||||||
LRUHandle* e =
|
LRUHandle* e = reinterpret_cast<LRUHandle*>(
|
||||||
reinterpret_cast<LRUHandle*>(malloc(sizeof(LRUHandle) - 1 + key.size()));
|
new char[sizeof(LRUHandle) - 1 + key.size()]);
|
||||||
autovector<LRUHandle*> last_reference_list;
|
autovector<LRUHandle*> last_reference_list;
|
||||||
|
|
||||||
e->value = value;
|
e->value = value;
|
||||||
|
Loading…
Reference in New Issue
Block a user