mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
lazyfree: fix memory leak for lazyfree-lazy-server-del
This commit is contained in:
parent
238c9bd086
commit
0517ab8397
@ -64,9 +64,10 @@ int dbAsyncDelete(redisDb *db, robj *key) {
|
|||||||
robj *val = dictGetVal(de);
|
robj *val = dictGetVal(de);
|
||||||
size_t free_effort = lazyfreeGetFreeEffort(val);
|
size_t free_effort = lazyfreeGetFreeEffort(val);
|
||||||
|
|
||||||
/* If releasing the object is too much work, let's put it into the
|
/* If releasing the object is too much work and the refcount
|
||||||
* lazy free list. */
|
* is 1, that means the object really needs to be freed,
|
||||||
if (free_effort > LAZYFREE_THRESHOLD) {
|
* let's put it into the lazy free list. */
|
||||||
|
if (free_effort > LAZYFREE_THRESHOLD && val->refcount == 1) {
|
||||||
atomicIncr(lazyfree_objects,1);
|
atomicIncr(lazyfree_objects,1);
|
||||||
bioCreateBackgroundJob(BIO_LAZY_FREE,val,NULL,NULL);
|
bioCreateBackgroundJob(BIO_LAZY_FREE,val,NULL,NULL);
|
||||||
dictSetVal(db->dict,de,NULL);
|
dictSetVal(db->dict,de,NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user