diff options
author | Oran Agra <oran@monfort.co.il> | 2016-04-25 14:18:40 +0300 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2016-05-04 09:12:57 +0200 |
commit | 9d57ceec08687545c2a63a2c18c28e2bcaf74664 (patch) | |
tree | 2d8155f3cddbba673c6094e4d57d5d734bf77429 | |
parent | 7ba2cf5f8bea9cd125e773de147e3ea9b19ee2b0 (diff) | |
download | redis-9d57ceec08687545c2a63a2c18c28e2bcaf74664.tar.gz |
additional fix to issue #2948
-rw-r--r-- | src/networking.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/networking.c b/src/networking.c index 1c0340952..3c0eae31b 100644 --- a/src/networking.c +++ b/src/networking.c @@ -1295,6 +1295,9 @@ void processInputBuffer(client *c) { /* Only reset the client when the command was executed. */ if (processCommand(c) == C_OK) resetClient(c); + /* freeMemoryIfNeeded may flush slave output buffers. This may result + * into a slave, that may be the active client, to be freed. */ + if (server.current_client == NULL) break; } } server.current_client = NULL; |