mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53:09 +00:00
fix a legacy problem. make harbor service more stable
This commit is contained in:
@@ -690,21 +690,27 @@ mainloop(struct skynet_context * context, void * ud, int type, int session, uint
|
||||
harbor_command(h, msg,sz,session,source);
|
||||
return 0;
|
||||
}
|
||||
default: {
|
||||
case PTYPE_SYSTEM : {
|
||||
// remote message out
|
||||
const struct remote_message *rmsg = msg;
|
||||
if (rmsg->destination.handle == 0) {
|
||||
if (remote_send_name(h, source , rmsg->destination.name, type, session, rmsg->message, rmsg->sz)) {
|
||||
if (remote_send_name(h, source , rmsg->destination.name, rmsg->type, session, rmsg->message, rmsg->sz)) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
if (remote_send_handle(h, source , rmsg->destination.handle, type, session, rmsg->message, rmsg->sz)) {
|
||||
if (remote_send_handle(h, source , rmsg->destination.handle, rmsg->type, session, rmsg->message, rmsg->sz)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
skynet_free((void *)rmsg->message);
|
||||
return 0;
|
||||
}
|
||||
default:
|
||||
skynet_error(context, "recv invalid message from %x, type = %d", source, type);
|
||||
if (session != 0) {
|
||||
skynet_send(context,0,source,PTYPE_ERROR, session, NULL, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user