bugfix: remove DONTCOPY tag from type

This commit is contained in:
Cloud Wu
2015-09-21 10:40:09 +08:00
parent 008351573a
commit 752a501f68

View File

@@ -313,10 +313,10 @@ forward_local_messsage(struct harbor *h, void *msg, int sz) {
message_to_header((const uint32_t *)cookie, &header);
uint32_t destination = header.destination;
int type = (destination >> HANDLE_REMOTE_SHIFT) | PTYPE_TAG_DONTCOPY;
int type = destination >> HANDLE_REMOTE_SHIFT;
destination = (destination & HANDLE_MASK) | ((uint32_t)h->id << HANDLE_REMOTE_SHIFT);
if (skynet_send(h->ctx, header.source, destination, type, (int)header.session, (void *)msg, sz-HEADER_COOKIE_LENGTH) < 0) {
if (skynet_send(h->ctx, header.source, destination, type | PTYPE_TAG_DONTCOPY , (int)header.session, (void *)msg, sz-HEADER_COOKIE_LENGTH) < 0) {
if (type != PTYPE_ERROR) {
// don't need report error when type is error
skynet_send(h->ctx, destination, header.source , PTYPE_ERROR, (int)header.session, NULL, 0);