From 879a407089169325f7026c86c7705eaea1c86b11 Mon Sep 17 00:00:00 2001 From: Francesco Chemolli <5175948+kinkie@users.noreply.github.com> Date: Wed, 1 May 2024 11:57:22 +0000 Subject: [PATCH] Optimization: clientBeginRequest() call copied streamData ptr (#1797) Detected by Coverity. CID 1529581: Unnecessary object copies can affect performance (COPY_INSTEAD_OF_MOVE). --- src/client_side_request.cc | 4 ++-- src/client_side_request.h | 2 +- src/esi/Include.cc | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/client_side_request.cc b/src/client_side_request.cc index 2133db3790..9ba7b182fc 100644 --- a/src/client_side_request.cc +++ b/src/client_side_request.cc @@ -278,8 +278,8 @@ ClientHttpRequest::~ClientHttpRequest() * determined by the user */ int -clientBeginRequest(const HttpRequestMethod& method, char const *url, CSCB * streamcallback, - CSD * streamdetach, ClientStreamData streamdata, HttpHeader const *header, +clientBeginRequest(const HttpRequestMethod &method, char const *url, CSCB *streamcallback, + CSD *streamdetach, const ClientStreamData &streamdata, const HttpHeader *header, char *tailbuf, size_t taillen, const MasterXaction::Pointer &mx) { size_t url_sz; diff --git a/src/client_side_request.h b/src/client_side_request.h index 62aedda1ed..e35962564c 100644 --- a/src/client_side_request.h +++ b/src/client_side_request.h @@ -28,7 +28,7 @@ class ConnStateData; class MemObject; /* client_side_request.c - client side request related routines (pure logic) */ -int clientBeginRequest(const HttpRequestMethod&, char const *, CSCB *, CSD *, ClientStreamData, HttpHeader const *, char *, size_t, const MasterXactionPointer &); +int clientBeginRequest(const HttpRequestMethod &, char const *, CSCB *, CSD *, const ClientStreamData &, const HttpHeader *, char *, size_t, const MasterXactionPointer &); class ClientHttpRequest #if USE_ADAPTATION diff --git a/src/esi/Include.cc b/src/esi/Include.cc index dad4b4df15..efd6759e7c 100644 --- a/src/esi/Include.cc +++ b/src/esi/Include.cc @@ -283,7 +283,7 @@ ESIInclude::Start (ESIStreamContext::Pointer stream, char const *url, ESIVarStat debugs(86, 5, "ESIIncludeStart: Starting subrequest with url '" << tempUrl << "'"); const auto mx = MasterXaction::MakePortless(); - if (clientBeginRequest(Http::METHOD_GET, tempUrl, esiBufferRecipient, esiBufferDetach, stream.getRaw(), &tempheaders, stream->localbuffer->buf, HTTP_REQBUF_SZ, mx)) { + if (clientBeginRequest(Http::METHOD_GET, tempUrl, esiBufferRecipient, esiBufferDetach, stream, &tempheaders, stream->localbuffer->buf, HTTP_REQBUF_SZ, mx)) { debugs(86, DBG_CRITICAL, "ERROR: starting new ESI subrequest failed"); } -- 2.39.2