mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 12:20:41 +00:00
'response' not released
'response' not released after src service died, and defined error.
This commit is contained in:
@@ -186,10 +186,12 @@ function suspend(co, result, command, param, size)
|
|||||||
error(debug.traceback(co))
|
error(debug.traceback(co))
|
||||||
end
|
end
|
||||||
local f = param
|
local f = param
|
||||||
local function response(ok, ...)
|
local response
|
||||||
|
response = function(ok, ...)
|
||||||
if ok == "TEST" then
|
if ok == "TEST" then
|
||||||
if dead_service[co_address] then
|
if dead_service[co_address] then
|
||||||
release_watching(co_address)
|
release_watching(co_address)
|
||||||
|
unresponse[response] = nil
|
||||||
f = false
|
f = false
|
||||||
return false
|
return false
|
||||||
else
|
else
|
||||||
@@ -224,7 +226,7 @@ function suspend(co, result, command, param, size)
|
|||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
watching_service[co_address] = watching_service[co_address] + 1
|
watching_service[co_address] = watching_service[co_address] + 1
|
||||||
session_response[co] = response
|
session_response[co] = true
|
||||||
unresponse[response] = true
|
unresponse[response] = true
|
||||||
return suspend(co, coroutine.resume(co, response))
|
return suspend(co, coroutine.resume(co, response))
|
||||||
elseif command == "EXIT" then
|
elseif command == "EXIT" then
|
||||||
|
|||||||
Reference in New Issue
Block a user