File 0104-Make-stop-observer-more-async.patch of Package erlang
From 7666389588bbf68615764443209e93811b270081 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Tue, 18 Apr 2023 13:21:26 +0200
Subject: [PATCH] Make stop observer more async
Some calls where not async during stop, which could lead to deadlock
when closing observer.
---
lib/observer/src/observer_wx.erl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/observer/src/observer_wx.erl b/lib/observer/src/observer_wx.erl
index 18789faf38..409fd4fcbb 100644
--- a/lib/observer/src/observer_wx.erl
+++ b/lib/observer/src/observer_wx.erl
@@ -508,10 +508,10 @@ handle_info(_Info, State) ->
{noreply, State}.
stop_servers(#state{node=Node, log=LogOn, panels=Panels} = _State) ->
- LogOn andalso rpc:block_call(Node, rb, stop, []),
Me = self(),
- save_config(Panels),
Stop = fun() ->
+ LogOn andalso rpc:block_call(Node, rb, stop, []),
+ save_config(Panels),
try
_ = [wx_object:stop(Panel) || {_, Panel, _} <- Panels],
ok
--
2.35.3