File 1303-sasl-Be-even-more-resilient-of-exiting-processes.patch of Package erlang

From 0d77175816bce94eac4cabed3f943b27c1c77d01 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Mon, 15 Nov 2021 19:33:24 +0100
Subject: [PATCH] sasl: Be even more resilient of exiting processes

same kind of fix as 2bb7e4844c8a5a76e6f1197137b763dca39764e4.
---
 lib/sasl/src/release_handler_1.erl | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/lib/sasl/src/release_handler_1.erl b/lib/sasl/src/release_handler_1.erl
index ddaa5c7577..277655a28d 100644
--- a/lib/sasl/src/release_handler_1.erl
+++ b/lib/sasl/src/release_handler_1.erl
@@ -637,14 +637,19 @@ maybe_supervisor_which_children(Proc, Name, Pid) ->
             error(suspended_supervisor);
 
         running ->
-            case catch supervisor:which_children(Pid) of
+            try supervisor:which_children(Pid) of
                 Res when is_list(Res) ->
-                    Res;
-                Other ->
+                    Res
+            catch
+                exit:Reason when Reason =/= timeout andalso
+                                 not (is_tuple(Reason) andalso
+                                      element(1,Reason) =:= nodedown) ->
+                    [];
+                exit:Other ->
                     error_logger:error_msg("release_handler: ~p~nerror during"
                                            " a which_children call to ~p (~w)."
                                            " [State: running] Exiting ... ~n",
-                                           [Other, Name, Pid]),
+                                           [{'EXIT',Other}, Name, Pid]),
                     error(which_children_failed)
             end
     end.
-- 
2.31.1

openSUSE Build Service is sponsored by