From ec0853bebbbe5f1e3bc0a63bebc468c32f8873e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E9=A3=8E?= Date: Wed, 30 Oct 2013 10:41:30 +0800 Subject: [PATCH] bugfix: redis batch mode. fix Issue #51 --- lualib/redis.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lualib/redis.lua b/lualib/redis.lua index 47b2f342..9973326b 100644 --- a/lualib/redis.lua +++ b/lualib/redis.lua @@ -154,9 +154,9 @@ function command:batch(mode) allok = allok and ok allret[i] = ret end + self.__mode = false socket.unlock(self.__handle) assert(allok, "batch read failed") - self.__mode = false return allret else local allok = true @@ -164,15 +164,15 @@ function command:batch(mode) local ok = read_response(fd) allok = allok and ok end - socket.unlock(self.__handle) self.__mode = false + socket.unlock(self.__handle) return allok end else - assert(mode == "read" or mode == "write") + assert(not self.__mode and (mode == "read" or mode == "write")) + socket.lock(self.__handle) self.__mode = mode self.__batch = 0 - socket.lock(self.__handle) end end