mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53: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
|
||||
c.send(address, skynet.PTYPE_ERROR, 0, "")
|
||||
end
|
||||
c.callback(function() end)
|
||||
c.callback(function(prototype, msg, sz, session, source)
|
||||
c.send(source, skynet.PTYPE_ERROR, session, "")
|
||||
end)
|
||||
c.command("EXIT")
|
||||
-- quit service
|
||||
coroutine_yield "QUIT"
|
||||
|
||||
@@ -118,7 +118,7 @@ drop_message(struct skynet_message *msg, void *ud) {
|
||||
uint32_t source = d->handle;
|
||||
assert(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 *
|
||||
|
||||
Reference in New Issue
Block a user