diff --git a/lualib/skynet.lua b/lualib/skynet.lua index 7e5115cb..f9d934c3 100644 --- a/lualib/skynet.lua +++ b/lualib/skynet.lua @@ -583,11 +583,11 @@ function skynet.mqlen() return tonumber(c.command "MQLEN") end -function skynet.task(f) +function skynet.task(ret) local t = 0 - for _,co in pairs(session_id_coroutine) do - if f then - f(debug.traceback(co)) + for session,co in pairs(session_id_coroutine) do + if ret then + ret[session] = debug.traceback(co) end t = t + 1 end diff --git a/lualib/skynet/debug.lua b/lualib/skynet/debug.lua index bb5877fe..c8f51f0b 100644 --- a/lualib/skynet/debug.lua +++ b/lualib/skynet/debug.lua @@ -27,7 +27,7 @@ end function dbgcmd.TASK() local task = {} - skynet.task(function(info) table.insert(task, info) end) + skynet.task(task) skynet.ret(skynet.pack(task)) end