Author: anevilyak Date: 2010-03-01 00:25:23 +0100 (Mon, 01 Mar 2010) New Revision: 35682 Changeset: http://dev.haiku-os.org/changeset/35682/haiku Modified: haiku/trunk/headers/private/app/LinkSender.h haiku/trunk/src/kits/app/LinkSender.cpp Log: Cleanup of previous work: whether or not we're talking to app_server is already determined at time of port assignment. As such we don't need to cache or care about that, but rather just cache the target team instead of looking it up from the port info every time. Modified: haiku/trunk/headers/private/app/LinkSender.h =================================================================== --- haiku/trunk/headers/private/app/LinkSender.h 2010-02-28 22:55:43 UTC (rev 35681) +++ haiku/trunk/headers/private/app/LinkSender.h 2010-02-28 23:25:23 UTC (rev 35682) @@ -45,7 +45,7 @@ status_t FlushCompleted(size_t newBufferSize); port_id fPort; - port_id fAppServerPort; + team_id fTargetTeam; char *fBuffer; size_t fBufferSize; Modified: haiku/trunk/src/kits/app/LinkSender.cpp =================================================================== --- haiku/trunk/src/kits/app/LinkSender.cpp 2010-02-28 22:55:43 UTC (rev 35681) +++ haiku/trunk/src/kits/app/LinkSender.cpp 2010-02-28 23:25:23 UTC (rev 35682) @@ -14,8 +14,6 @@ #include <string.h> #include <new> -#include <Application.h> -#include <AppMisc.h> #include <ServerProtocol.h> #include <LinkSender.h> @@ -39,7 +37,7 @@ LinkSender::LinkSender(port_id port) : fPort(port), - fAppServerPort(-1), + fTargetTeam(-1), fBuffer(NULL), fBufferSize(0), @@ -164,21 +162,13 @@ 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 @@ 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);