File 0802-snmp-agent-More-discovery-cleanup.patch of Package erlang

From 02f9f882fcfdbe7cdcf9b4333511d3e4b871e212 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Fri, 1 Nov 2019 15:07:53 +0100
Subject: [PATCH] [snmp|agent] More discovery cleanup

The request cache needed some more cleanup to not fill
upp with old discovery requests (Asko Husso).

OTP-16228
---
 lib/snmp/src/agent/snmpa_net_if.erl | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/snmp/src/agent/snmpa_net_if.erl b/lib/snmp/src/agent/snmpa_net_if.erl
index 730d096920..c1f7c6b424 100644
--- a/lib/snmp/src/agent/snmpa_net_if.erl
+++ b/lib/snmp/src/agent/snmpa_net_if.erl
@@ -736,7 +736,7 @@ handle_discovery_response(
 	    %% XXX Strange... Reqs from this Pid should be reaped
 	    %% at process exit by clear_reqs/2 so the following
 	    %% should be redundant.
-	    NReqs = lists:keydelete(ReqId, 1, Reqs),
+            NReqs = lists:keydelete(ReqId, 1, Reqs -- [{0, Pid}]), % ERIERL-427
 	    S#state{reqs = NReqs};
 
         %% <OTP-16207>
@@ -1209,8 +1209,9 @@ handle_disk_log(_Log, _Info, State) ->
 
 
 clear_reqs(Pid, S) ->
-    NReqs = lists:keydelete(Pid, 2, S#state.reqs),
-    S#state{reqs = NReqs}.
+    NReqs  = lists:keydelete(Pid, 2, S#state.reqs),
+    NReqs2 = NReqs -- [{0, Pid}], % ERIERL-427
+    S#state{reqs = NReqs2}.
 
 
 toname(P) when is_pid(P) ->
-- 
2.16.4

openSUSE Build Service is sponsored by