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

openSUSE Build Service is sponsored by