Browse Source

Void conflicts with native erlang function naming.

Roberto Ostinelli 5 years ago
parent
commit
bdcbd22de4
2 changed files with 5 additions and 3 deletions
  1. 2 1
      src/syn_registry.erl
  2. 3 2
      test/syn_registry_SUITE.erl

+ 2 - 1
src/syn_registry.erl

@@ -86,7 +86,7 @@ reregister(Name, Pid, Meta, RetryCount) when is_pid(Pid) ->
     ?MODULE:unregister(Name),
     case find_registry_tuple_by_name(Name) of
         undefined ->
-            register(Name, Pid, Meta);
+            ?MODULE:register(Name, Pid, Meta);
         {Name, _Pid, _Meta} ->
             timer:sleep(100),
             reregister(Name, Pid, Meta, RetryCount + 1)
@@ -475,6 +475,7 @@ remove_from_local_table(Name, Pid) ->
             ets:delete(syn_registry_by_name, Name),
             ets:match_delete(syn_registry_by_pid, {{Pid, Name}, '_', '_', '_'}),
             ok;
+
         {Name, TablePid, _} ->
             error_logger:info_msg(
                 "Syn(~p): Request to delete registry name ~p for pid ~p but locally have ~p, ignoring~n",

+ 3 - 2
test/syn_registry_SUITE.erl

@@ -617,12 +617,13 @@ two_nodes_reregister(Config) ->
     PidLocal = syn_test_suite_helper:start_process(),
     PidRemote = syn_test_suite_helper:start_process(SlaveNode),
     ok = rpc:call(SlaveNode, syn, register, [Name, PidRemote]),
-    timer:sleep(1000),
     %% fast unreg-reg
     ok = syn:reregister(Name, PidLocal),
+    timer:sleep(1000),
+    PidLocal = syn:whereis(Name),
     ok = rpc:call(SlaveNode, syn, reregister, [Name, PidRemote, some_meta]),
     timer:sleep(1000),
-    {PidRemote, some_meta} = syn:whereis(PidRemote).
+    {PidRemote, some_meta} = syn:whereis(Name, with_meta).
 
 three_nodes_partial_netsplit_consistency(Config) ->
     %% get slaves