Merge pull request #867 from SherlockNoMad/CacheFix
Replace malloc with new for LRU Cache Handle
This commit is contained in:
commit
56bbecc316
@ -74,7 +74,7 @@ struct LRUHandle {
|
||||
void Free() {
|
||||
assert((refs == 1 && in_cache) || (refs == 0 && !in_cache));
|
||||
(*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
|
||||
// If the cache is full, we'll have to release it
|
||||
// It shouldn't happen very often though.
|
||||
LRUHandle* e =
|
||||
reinterpret_cast<LRUHandle*>(malloc(sizeof(LRUHandle) - 1 + key.size()));
|
||||
LRUHandle* e = reinterpret_cast<LRUHandle*>(
|
||||
new char[sizeof(LRUHandle) - 1 + key.size()]);
|
||||
autovector<LRUHandle*> last_reference_list;
|
||||
|
||||
e->value = value;
|
||||
|
Loading…
Reference in New Issue
Block a user