[haiku-commits] r35682 - in haiku/trunk: headers/private/app src/kits/app

  • From: anevilyak@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 1 Mar 2010 00:25:23 +0100 (CET)

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);


Other related posts:

  • » [haiku-commits] r35682 - in haiku/trunk: headers/private/app src/kits/app - anevilyak