diff --git a/headers/private/app/LinkSender.h b/headers/private/app/LinkSender.h index 775694af15..48886ac6c3 100644 --- a/headers/private/app/LinkSender.h +++ b/headers/private/app/LinkSender.h @@ -45,6 +45,7 @@ class LinkSender { status_t FlushCompleted(size_t newBufferSize); port_id fPort; + port_id fAppServerPort; char *fBuffer; size_t fBufferSize; diff --git a/src/kits/app/LinkSender.cpp b/src/kits/app/LinkSender.cpp index 182d840f84..c8bfb5458a 100644 --- a/src/kits/app/LinkSender.cpp +++ b/src/kits/app/LinkSender.cpp @@ -39,6 +39,7 @@ namespace BPrivate { LinkSender::LinkSender(port_id port) : fPort(port), + fAppServerPort(-1), fBuffer(NULL), fBufferSize(0), @@ -167,9 +168,11 @@ LinkSender::Attach(const void *passedData, size_t passedSize) port_id port = -1; if (be_app == NULL) port = fPort; - else - port = get_app_server_port(); - + else { + if (fAppServerPort < 0) + fAppServerPort = get_app_server_port(); + port = fAppServerPort; + } port_info info; status_t result = get_port_info(port, &info); if (result != B_OK)