diff options
author | Oran Agra <oran@redislabs.com> | 2019-10-06 13:55:21 +0300 |
---|---|---|
committer | Oran Agra <oran@redislabs.com> | 2019-10-07 09:09:32 +0300 |
commit | d1a005ab3963c16b65e805675a76f0e40c723158 (patch) | |
tree | f923f84ec380a9e91f7e83972de5f825418cfb55 /src/evict.c | |
parent | bd6044706641fa6370a90dc5347e6cd37f5930eb (diff) | |
download | redis-d1a005ab3963c16b65e805675a76f0e40c723158.tar.gz |
fix issues found by a static analyzer
cluster.c - stack buffer memory alignment
The pointer 'buf' is cast to a more strictly aligned pointer type
evict.c - lazyfree_lazy_eviction, lazyfree_lazy_eviction always called
defrag.c - bug in dead code
server.c - casting was missing parenthesis
rax.c - indentation / newline suggested an 'else if' was intended
Diffstat (limited to 'src/evict.c')
-rw-r--r-- | src/evict.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/evict.c b/src/evict.c index 176f4c362..71260c040 100644 --- a/src/evict.c +++ b/src/evict.c @@ -444,6 +444,7 @@ int getMaxmemoryState(size_t *total, size_t *logical, size_t *tofree, float *lev * Otehrwise if we are over the memory limit, but not enough memory * was freed to return back under the limit, the function returns C_ERR. */ int freeMemoryIfNeeded(void) { + int keys_freed = 0; /* By default replicas should ignore maxmemory * and just be masters exact copies. */ if (server.masterhost && server.repl_slave_ignore_maxmemory) return C_OK; @@ -467,7 +468,7 @@ int freeMemoryIfNeeded(void) { latencyStartMonitor(latency); while (mem_freed < mem_tofree) { - int j, k, i, keys_freed = 0; + int j, k, i; static unsigned int next_db = 0; sds bestkey = NULL; int bestdbid; @@ -598,9 +599,7 @@ int freeMemoryIfNeeded(void) { mem_freed = mem_tofree; } } - } - - if (!keys_freed) { + } else { latencyEndMonitor(latency); latencyAddSampleIfNeeded("eviction-cycle",latency); goto cant_free; /* nothing to free... */ |