From 6b7ec6db6bd999a509e867aef438b3b8769cae43 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Wed, 15 Mar 2017 16:42:44 +0100 Subject: Fix broken discard acknowledgement A transport process can request acknowledgement of the fate of an incoming message to a specified pid, causing it to receive one of {diameter, {request|answer, pid()} | discard} depending on whether or not diameter passes the message off to a handler process. This was broken in commit a4da06a5 (since recv/3 threw a message that should be received), but is of little consequence since the interface isn't yet documented and is only used from diameter_tcp with configuration that will soon change. --- lib/diameter/src/base/diameter_watchdog.erl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'lib/diameter') diff --git a/lib/diameter/src/base/diameter_watchdog.erl b/lib/diameter/src/base/diameter_watchdog.erl index f28b8f2910..4484b7ee2c 100644 --- a/lib/diameter/src/base/diameter_watchdog.erl +++ b/lib/diameter/src/base/diameter_watchdog.erl @@ -590,11 +590,9 @@ incoming(Name, Pkt, false, S) -> recv(Name, Pkt, S); incoming(Name, Pkt, NPid, S) -> - try - recv(Name, Pkt, S) - after - NPid ! {diameter, discard} - end. + NS = recv(Name, Pkt, S), + NPid ! {diameter, discard}, + NS. %% recv/3 -- cgit v1.2.3