diff options
author | antirez <antirez@gmail.com> | 2017-05-04 10:35:32 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2017-05-04 10:35:40 +0200 |
commit | 52bc74f22150183111bc0da9cd2c29de440a50b5 (patch) | |
tree | 224283572ad115aafb8530b01632aca184c66891 | |
parent | 7d9326b1f3a6fd8e218da9a4ca357d9af2e9b644 (diff) | |
download | redis-52bc74f22150183111bc0da9cd2c29de440a50b5.tar.gz |
Lazyfree: fix lazyfreeGetPendingObjectsCount() race reading counter.
-rw-r--r-- | src/lazyfree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lazyfree.c b/src/lazyfree.c index 8d56e1031..64ed68466 100644 --- a/src/lazyfree.c +++ b/src/lazyfree.c @@ -8,7 +8,9 @@ pthread_mutex_t lazyfree_objects_mutex = PTHREAD_MUTEX_INITIALIZER; /* Return the number of currently pending objects to free. */ size_t lazyfreeGetPendingObjectsCount(void) { - return lazyfree_objects; + size_t aux; + atomicGet(lazyfree_objects,aux,lazyfree_objects_mutex); + return aux; } /* Return the amount of work needed in order to free an object. |