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