mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-25 04:33:05 +00:00
raise error when you forget response the request, fix issue #625
This commit is contained in:
@@ -92,6 +92,7 @@ local function _error_dispatch(error_session, error_source)
|
|||||||
if watching_session[error_session] then
|
if watching_session[error_session] then
|
||||||
table.insert(error_queue, error_session)
|
table.insert(error_queue, error_session)
|
||||||
end
|
end
|
||||||
|
session_response[coroutine.running()] = true -- error report don't need response
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -238,10 +239,16 @@ function suspend(co, result, command, param, size)
|
|||||||
elseif command == "EXIT" then
|
elseif command == "EXIT" then
|
||||||
-- coroutine exit
|
-- coroutine exit
|
||||||
local address = session_coroutine_address[co]
|
local address = session_coroutine_address[co]
|
||||||
release_watching(address)
|
local session = session_coroutine_id[co]
|
||||||
session_coroutine_id[co] = nil
|
if address then
|
||||||
session_coroutine_address[co] = nil
|
release_watching(address)
|
||||||
session_response[co] = nil
|
if session ~= 0 and not session_response[co] then
|
||||||
|
error "no response" -- need response
|
||||||
|
end
|
||||||
|
session_coroutine_id[co] = nil
|
||||||
|
session_coroutine_address[co] = nil
|
||||||
|
session_response[co] = nil
|
||||||
|
end
|
||||||
elseif command == "QUIT" then
|
elseif command == "QUIT" then
|
||||||
-- service exit
|
-- service exit
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ local function init(skynet, export)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function dbgcmd.LINK()
|
function dbgcmd.LINK()
|
||||||
-- no return, raise error when exit
|
skynet.response() -- get response , but not return. raise error when exit
|
||||||
end
|
end
|
||||||
|
|
||||||
return dbgcmd
|
return dbgcmd
|
||||||
|
|||||||
Reference in New Issue
Block a user