From 704b016f2cec9ba7d0799c8bd1408b613fef0e64 Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Tue, 4 Aug 2015 17:51:35 +0800 Subject: [PATCH] bugfix: inc session before get channel --- service/clusterd.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/service/clusterd.lua b/service/clusterd.lua index b0ee6335..fc8b4126 100644 --- a/service/clusterd.lua +++ b/service/clusterd.lua @@ -65,9 +65,11 @@ local function send_request(source, node, addr, msg, sz) local session = node_session[node] or 1 -- msg is a local pointer, cluster.packrequest will free it local request, new_session = cluster.packrequest(addr, session, msg, sz) - local c = node_channel[node] node_session[node] = new_session + -- node_channel[node] may yield or throw error + local c = node_channel[node] + return c:request(request, session) end