From 2011596de04ebc9a67a861420d16a9f027339847 Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Tue, 2 Apr 2019 17:43:24 +0800 Subject: [PATCH] fix #979 --- service/clusterd.lua | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/service/clusterd.lua b/service/clusterd.lua index 59e2ae96..cc82005a 100644 --- a/service/clusterd.lua +++ b/service/clusterd.lua @@ -143,10 +143,18 @@ function command.proxy(source, node, name) end end local fullname = node .. "." .. name - if proxy[fullname] == nil then - proxy[fullname] = skynet.newservice("clusterproxy", node, name) + local p = proxy[fullname] + if p == nil then + p = skynet.newservice("clusterproxy", node, name) + -- double check + if proxy[fullname] then + skynet.kill(p) + p = proxy[fullname] + else + proxy[fullname] = p + end end - skynet.ret(skynet.pack(proxy[fullname])) + skynet.ret(skynet.pack(p)) end local cluster_agent = {} -- fd:service