File 2862-Send-requests-on-remote-transport-more-efficiently.patch of Package erlang
From 267226ea18bff847232dbbb1029a1df53c32ac76 Mon Sep 17 00:00:00 2001
From: Anders Svensson <anders@erlang.org>
Date: Sun, 9 Feb 2020 11:43:01 +0100
Subject: [PATCH 2/7] Send requests on remote transport more efficiently
Commit fb14eac9 got two things slightly wrong: it stripped a
diameter_packet record that was already stripped after being spawned
into send/1 on the node of a remote transport process, and it didn't
avoid an unnecessary process dictionary entry as the commit comment
said. Call the function that skips this, not the one that does it.
---
lib/diameter/src/base/diameter_traffic.erl | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/diameter/src/base/diameter_traffic.erl b/lib/diameter/src/base/diameter_traffic.erl
index 0336f2392c..2b7b152911 100644
--- a/lib/diameter/src/base/diameter_traffic.erl
+++ b/lib/diameter/src/base/diameter_traffic.erl
@@ -1870,10 +1870,13 @@ z(#diameter_packet{header = H, bin = Bin, transport_data = T}) ->
transport_data = T}.
%% send/1
+%%
+%% Send from a remote node using a peer connection on this one. Pkt is
+%% already stripped.
send({TPid, Pkt, #request{handler = Pid} = Req0, SvcName, Timeout, TRef}) ->
Req = Req0#request{handler = self()},
- recv(TPid, Pid, TRef, zend_requezt(TPid, Pkt, Req, SvcName, Timeout)).
+ recv(TPid, Pid, TRef, send_request(TPid, Pkt, Req, SvcName, Timeout)).
%% recv/4
%%
--
2.16.4