File 1295-kernel-Fix-race-in-multi_load_SUITE-on_load_failing.patch of Package erlang
From b4094f34f95b1a952577de2138a5e82eba649e77 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Wed, 14 May 2025 18:51:14 +0200
Subject: [PATCH] kernel: Fix race in multi_load_SUITE:on_load_failing
---
lib/kernel/test/multi_load_SUITE.erl | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/lib/kernel/test/multi_load_SUITE.erl b/lib/kernel/test/multi_load_SUITE.erl
index 3079c5e46c..0ee9cb5e2f 100644
--- a/lib/kernel/test/multi_load_SUITE.erl
+++ b/lib/kernel/test/multi_load_SUITE.erl
@@ -192,16 +192,21 @@ spawn_hanging_on_load(Mod) ->
fun(_) ->
hanging_on_load_module(Mod)
end),
- spawn_link(fun() ->
- {error,on_load_failure} =
- code:load_binary(Mod, Name, Bin)
- end).
+ register(spawn_hanging_on_load, self()),
+ Pid = spawn_link(fun() ->
+ {error,on_load_failure} =
+ code:load_binary(Mod, Name, Bin)
+ end),
+ receive hanging_on_load -> ok end,
+ unregister(spawn_hanging_on_load),
+ Pid.
hanging_on_load_module(Mod) ->
?Q(["-module('@Mod@').\n",
"-on_load(hang/0).\n",
"hang() ->\n"
" register(hanging_on_load, self()),\n"
+ " spawn_hanging_on_load ! hanging_on_load,\n"
" receive _ -> unload end.\n"]).
ensure_modules_loaded(Config) ->
--
2.43.0