diff --git a/headers/private/app/LinkSender.h b/headers/private/app/LinkSender.h index 48886ac6c3..6a08afadae 100644 --- a/headers/private/app/LinkSender.h +++ b/headers/private/app/LinkSender.h @@ -45,7 +45,7 @@ class LinkSender { status_t FlushCompleted(size_t newBufferSize); port_id fPort; - port_id fAppServerPort; + team_id fTargetTeam; char *fBuffer; size_t fBufferSize; diff --git a/src/kits/app/LinkSender.cpp b/src/kits/app/LinkSender.cpp index c8bfb5458a..14fd1b156d 100644 --- a/src/kits/app/LinkSender.cpp +++ b/src/kits/app/LinkSender.cpp @@ -14,8 +14,6 @@ #include #include -#include -#include #include #include @@ -39,7 +37,7 @@ namespace BPrivate { LinkSender::LinkSender(port_id port) : fPort(port), - fAppServerPort(-1), + fTargetTeam(-1), fBuffer(NULL), fBufferSize(0), @@ -164,21 +162,13 @@ LinkSender::Attach(const void *passedData, size_t passedSize) area_id senderArea = -1; if (useArea) { - team_id target = -1; - port_id port = -1; - if (be_app == NULL) - port = fPort; - else { - if (fAppServerPort < 0) - fAppServerPort = get_app_server_port(); - port = fAppServerPort; + if (fTargetTeam < 0) { + port_info info; + status_t result = get_port_info(fPort, &info); + if (result != B_OK) + return result; + fTargetTeam = info.team; } - port_info info; - status_t result = get_port_info(port, &info); - if (result != B_OK) - return result; - - target = info.team; void* address = NULL; off_t alignedSize = (passedSize + B_PAGE_SIZE) & ~(B_PAGE_SIZE - 1); senderArea = create_area("LinkSenderArea", &address, B_ANY_ADDRESS, @@ -192,7 +182,7 @@ LinkSender::Attach(const void *passedData, size_t passedSize) area_id areaID = senderArea; senderArea = _kern_transfer_area(senderArea, &address, - B_ANY_ADDRESS, target); + B_ANY_ADDRESS, fTargetTeam); if (senderArea < B_OK) { delete_area(areaID);