lazy init debug command

This commit is contained in:
Cloud Wu
2015-07-23 18:35:29 +08:00
parent b2d8237363
commit 1da8a6b38d

View File

@@ -10,7 +10,10 @@ function skynet.info_func(func)
internal_info_func = func
end
local dbgcmd = {}
local dbgcmd
local function init_dbgcmd()
dbgcmd = {}
function dbgcmd.MEM()
local kb, bytes = collectgarbage "count"
@@ -67,8 +70,11 @@ function dbgcmd.SUPPORT(pname)
return skynet.ret(skynet.pack(skynet.dispatch(pname) ~= nil))
end
return dbgcmd
end -- function init_dbgcmd
local function _debug_dispatch(session, address, cmd, ...)
local f = dbgcmd[cmd]
local f = (dbgcmd or init_dbgcmd())[cmd] -- lazy init dbgcmd
assert(f, cmd)
f(...)
end