Browse Source

Reformat.

Roberto Ostinelli 5 years ago
parent
commit
b8655d81ac

+ 5 - 14
src/syn_event_handler.erl

@@ -38,21 +38,17 @@
     Reason :: any()
 ) -> any().
 
--callback on_group_process_exit(
-    GroupName :: any(),
-    Pid :: pid(),
-    Meta :: any(),
-    Reason :: any()
-) -> any().
-
 -callback resolve_registry_conflict(
     Name :: any(),
     {Pid1 :: pid(), Meta1 :: any()},
     {Pid2 :: pid(), Meta2 :: any()}
 ) -> PidToKeep :: pid() | undefined.
 
--optional_callbacks([on_process_exit/4, on_group_process_exit/4, resolve_registry_conflict/3]).
+-optional_callbacks([on_process_exit/4, resolve_registry_conflict/3]).
 
+%% ===================================================================
+%% API
+%% ===================================================================
 -spec do_on_process_exit(
     Name :: any(),
     Pid :: pid(),
@@ -62,12 +58,7 @@
 ) -> any().
 do_on_process_exit(Name, Pid, Meta, Reason, CustomEventHandler) ->
     spawn(fun() ->
-        case erlang:function_exported(CustomEventHandler, on_process_exit, 4) of
-            true ->
-                CustomEventHandler:on_process_exit(Name, Pid, Meta, Reason);
-            _ ->
-                ok
-        end
+        CustomEventHandler:on_process_exit(Name, Pid, Meta, Reason)
     end).
 
 -spec do_resolve_registry_conflict(

+ 17 - 6
src/syn_registry.erl

@@ -376,16 +376,27 @@ handle_process_exit(Name, Pid, Meta, Reason, #state{
 }) ->
     case Name of
         undefined ->
-            error_logger:error_msg(
+            error_logger:warning_msg(
                 "Syn(~p): Received a DOWN message from an unmonitored process ~p with reason: ~p~n",
                 [node(), Pid, Reason]
             );
         _ ->
-            error_logger:error_msg(
-                "Syn(~p): Process with name ~p and pid ~p exited with reason: ~p~n",
-                [node(), Name, Pid, Reason]
-            ),
-            syn_event_handler:do_on_process_exit(Name, Pid, Meta, Reason, CustomEventHandler)
+            case erlang:function_exported(CustomEventHandler, on_process_exit, 4) of
+                true ->
+                    syn_event_handler:do_on_process_exit(Name, Pid, Meta, Reason, CustomEventHandler);
+                _ ->
+                    case Reason of
+                        normal -> ok;
+                        shutdown -> ok;
+                        {shutdown, _} -> ok;
+                        killed -> ok;
+                        _ ->
+                            error_logger:error_msg(
+                                "Syn(~p): Process with name ~p and pid ~p exited with reason: ~p~n",
+                                [node(), Name, Pid, Reason]
+                            )
+                    end
+            end
     end.
 
 -spec sync_registry_tuples(RemoteNode :: node(), RegistryTuples :: [syn_registry_tuple()], #state{}) -> ok.

+ 0 - 1
test/syn_groups_SUITE.erl

@@ -55,7 +55,6 @@
 %% include
 -include_lib("common_test/include/ct.hrl").
 
-
 %% ===================================================================
 %% Callbacks
 %% ===================================================================

+ 0 - 1
test/syn_registry_SUITE.erl

@@ -60,7 +60,6 @@
 %% include
 -include_lib("common_test/include/ct.hrl").
 
-
 %% ===================================================================
 %% Callbacks
 %% ===================================================================

+ 3 - 0
test/syn_test_event_handler.erl

@@ -30,6 +30,9 @@
 -export([on_process_exit/4]).
 -export([resolve_registry_conflict/3]).
 
+%% ===================================================================
+%% Syn Callbacks
+%% ===================================================================
 -spec on_process_exit(
     Name :: any(),
     Pid :: pid(),