diff --git a/service/clusteragent.lua b/service/clusteragent.lua index 2cd5bc70..0f0d3ec4 100644 --- a/service/clusteragent.lua +++ b/service/clusteragent.lua @@ -10,10 +10,9 @@ gate = tonumber(gate) fd = tonumber(fd) local large_request = {} -local register_name = {} local inquery_name = {} -setmetatable(register_name, { __index = +local register_name_mt = { __index = function(self, name) local waitco = inquery_name[name] if waitco then @@ -35,7 +34,13 @@ setmetatable(register_name, { __index = return addr end end -}) +} + +local function new_register_name() + return setmetatable({}, register_name_mt) +end + +local register_name = new_register_name() local tracetag @@ -132,7 +137,7 @@ skynet.start(function() socket.close(fd) skynet.exit() elseif cmd == "namechange" then - register_name = {} + register_name = new_register_name() else skynet.error(string.format("Invalid command %s from %s", cmd, skynet.address(source))) end