mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-25 12:43:09 +00:00
修复执行skynet.exit后别的服务call有概率卡死 (#1846)
Co-authored-by: xingfan.yzj <xingfan.yzj@alibaba-inc.com>
This commit is contained in:
@@ -652,7 +652,9 @@ function skynet.exit()
|
|||||||
for address in pairs(tmp) do
|
for address in pairs(tmp) do
|
||||||
c.send(address, skynet.PTYPE_ERROR, 0, "")
|
c.send(address, skynet.PTYPE_ERROR, 0, "")
|
||||||
end
|
end
|
||||||
c.callback(function() end)
|
c.callback(function(prototype, msg, sz, session, source)
|
||||||
|
c.send(source, skynet.PTYPE_ERROR, session, "")
|
||||||
|
end)
|
||||||
c.command("EXIT")
|
c.command("EXIT")
|
||||||
-- quit service
|
-- quit service
|
||||||
coroutine_yield "QUIT"
|
coroutine_yield "QUIT"
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ drop_message(struct skynet_message *msg, void *ud) {
|
|||||||
uint32_t source = d->handle;
|
uint32_t source = d->handle;
|
||||||
assert(source);
|
assert(source);
|
||||||
// report error to the message source
|
// report error to the message source
|
||||||
skynet_send(NULL, source, msg->source, PTYPE_ERROR, 0, NULL, 0);
|
skynet_send(NULL, source, msg->source, PTYPE_ERROR, msg->session, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct skynet_context *
|
struct skynet_context *
|
||||||
|
|||||||
Reference in New Issue
Block a user