File 0473-stdlib-Fix-hanging-ets_SUITE-t_delete_all_objects.patch of Package erlang

From f4518eb483b42af58d22778d0e143755e1af2879 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Fri, 30 Aug 2019 19:37:42 +0200
Subject: [PATCH] stdlib: Fix hanging ets_SUITE:t_delete_all_objects

---
 lib/stdlib/test/ets_SUITE.erl | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/lib/stdlib/test/ets_SUITE.erl b/lib/stdlib/test/ets_SUITE.erl
index 09238ae2b4..2e222562c4 100644
--- a/lib/stdlib/test/ets_SUITE.erl
+++ b/lib/stdlib/test/ets_SUITE.erl
@@ -960,7 +960,7 @@ t_delete_all_objects_do(Opts) ->
     %% Test delete_all_objects is atomic
     T2 = ets:new(t_delete_all_objects, [public | Opts]),
     Self = self(),
-    Inserters = [spawn_link(fun() -> inserter(T2, 100*1000, 1, Self) end) || _ <- [1,2,3,4]],
+    Inserters = [spawn_link(fun() -> inserter(T2, 1, Self) end) || _ <- [1,2,3,4]],
     [receive {Ipid, running} -> ok end || Ipid <- Inserters],
     
     ets:delete_all_objects(T2),
@@ -991,23 +991,26 @@ t_delete_all_objects_do(Opts) ->
 
     ets:delete(T2).
 
-inserter(_, 0, _, _) ->
-    ok;
-inserter(T, N, Next, Papa) ->
-    case Next of
-        10*1000 ->
-            Papa ! {self(), running};
-        _ ->
-            ok
-    end,
+inserter(T, Next, Papa) ->
+    Wait = case Next of
+               10*1000 ->
+                   Papa ! {self(), running},
+                   0;
+               100*1000 -> %% We most often don't reach this far
+                   io:format("Inserter ~p reached ~p objects\n",
+                             [self(), Next]),
+                   infinity;
+               _ ->
+                   0
+           end,
                 
     ets:insert(T, {{Next, self()}}),
     receive
         stop ->
             Papa ! {self(), stopped, Next},
             ok
-    after 0 ->
-            inserter(T, N-1, Next+1, Papa)
+    after Wait ->
+            inserter(T, Next+1, Papa)
     end.
 
 
-- 
2.16.4

openSUSE Build Service is sponsored by