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) return _error_dispatch(0, service)
end end
local function clear_pool()
coroutine_pool = {}
end
-- Inject internal debug framework -- Inject internal debug framework
local debug = require "skynet.debug" local debug = require "skynet.debug"
debug(skynet, dispatch_message) debug(skynet, {
dispatch = dispatch_message,
clear = clear_pool,
})
return skynet return skynet

View File

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