File 0703-mnesia-Flush-already-handled-exit-messages.patch of Package erlang

From 1c233f795f8b2a1fa66ff3413735844c149dd86e Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Wed, 27 Oct 2021 12:13:03 +0200
Subject: [PATCH 3/3] mnesia: Flush already handled exit messages

Leaked exit messages to user process if new rpc module is used.
---
 lib/mnesia/src/mnesia_checkpoint.erl | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/lib/mnesia/src/mnesia_checkpoint.erl b/lib/mnesia/src/mnesia_checkpoint.erl
index 3273d3d27e..969af80368 100644
--- a/lib/mnesia/src/mnesia_checkpoint.erl
+++ b/lib/mnesia/src/mnesia_checkpoint.erl
@@ -579,7 +579,7 @@ call(Name, Msg) ->
 		{'DOWN', Monitor, _, Pid, Reason} ->
 		    {error, {"Got exit", [Name, Reason]}};
 		{Name, Self, Reply} ->
-		    erlang:demonitor(Monitor),
+                    erlang:demonitor(Monitor, [flush]),
 		    Reply
 	    end;
 	Error ->
@@ -817,7 +817,6 @@ retainer_loop(Cp = #checkpoint_args{is_activated=false, name=Name}) ->
 	{From, deactivate} ->
 	    do_stop(Cp),
 	    reply(From, Name, deactivated),
-	    unlink(From),
 	    exit(shutdown);
 
 	{From, get_checkpoint} ->
@@ -920,7 +919,6 @@ retainer_loop(Cp = #checkpoint_args{name=Name}) ->
 	{From, deactivate} ->
 	    do_stop(Cp),
 	    reply(From, Name, deactivated),
-	    unlink(From),
 	    exit(shutdown);
 
 	{_From, {mnesia_down, Node}} ->
-- 
2.31.1

openSUSE Build Service is sponsored by