summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOran Agra <oran@monfort.co.il>2016-04-25 14:18:40 +0300
committerantirez <antirez@gmail.com>2016-05-04 09:12:57 +0200
commit9d57ceec08687545c2a63a2c18c28e2bcaf74664 (patch)
tree2d8155f3cddbba673c6094e4d57d5d734bf77429
parent7ba2cf5f8bea9cd125e773de147e3ea9b19ee2b0 (diff)
downloadredis-9d57ceec08687545c2a63a2c18c28e2bcaf74664.tar.gz
additional fix to issue #2948
-rw-r--r--src/networking.c3
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;