Merge pull request #180 from cloudwu/dev

clear coroutine_pool when gc
This commit is contained in:
云风
2014-10-13 17:58:07 +08:00
2 changed files with 11 additions and 4 deletions

View File

@@ -709,8 +709,15 @@ function skynet.term(service)
return _error_dispatch(0, service)
end
local function clear_pool()
coroutine_pool = {}
end
-- Inject internal debug framework
local debug = require "skynet.debug"
debug(skynet, dispatch_message)
debug(skynet, {
dispatch = dispatch_message,
clear = clear_pool,
})
return skynet

View File

@@ -2,7 +2,7 @@ local io = io
local table = table
local debug = debug
return function (skynet, dispatch_func)
return function (skynet, export)
local internal_info_func
@@ -18,7 +18,7 @@ function dbgcmd.MEM()
end
function dbgcmd.GC()
coroutine_pool = {}
export.clear()
collectgarbage "collect"
end
@@ -49,7 +49,7 @@ end
function dbgcmd.RUN(source, filename)
local inject = require "skynet.inject"
local output = inject(source, filename , dispatch_func, skynet.register_protocol)
local output = inject(source, filename , export.dispatch, skynet.register_protocol)
collectgarbage "collect"
skynet.ret(skynet.pack(table.concat(output, "\n")))
end