Browse Source

Add guards.

Roberto Ostinelli 9 years ago
parent
commit
87c2476d95
2 changed files with 7 additions and 7 deletions
  1. 3 3
      src/syn_groups.erl
  2. 4 4
      src/syn_registry.erl

+ 3 - 3
src/syn_groups.erl

@@ -58,17 +58,17 @@ start_link() ->
     gen_server:start_link({local, ?MODULE}, ?MODULE, [], Options).
     gen_server:start_link({local, ?MODULE}, ?MODULE, [], Options).
 
 
 -spec join(Name :: any(), Pid :: pid()) -> ok | {error, pid_already_in_group}.
 -spec join(Name :: any(), Pid :: pid()) -> ok | {error, pid_already_in_group}.
-join(Name, Pid) ->
+join(Name, Pid) when is_pid(Pid) ->
     Node = node(Pid),
     Node = node(Pid),
     gen_server:call({?MODULE, Node}, {join, Name, Pid}).
     gen_server:call({?MODULE, Node}, {join, Name, Pid}).
 
 
 -spec leave(Name :: any(), Pid :: pid()) -> ok | {error, undefined | pid_not_in_group}.
 -spec leave(Name :: any(), Pid :: pid()) -> ok | {error, undefined | pid_not_in_group}.
-leave(Name, Pid) ->
+leave(Name, Pid) when is_pid(Pid) ->
     Node = node(Pid),
     Node = node(Pid),
     gen_server:call({?MODULE, Node}, {leave, Name, Pid}).
     gen_server:call({?MODULE, Node}, {leave, Name, Pid}).
 
 
 -spec member(Pid :: pid(), Name :: any()) -> boolean().
 -spec member(Pid :: pid(), Name :: any()) -> boolean().
-member(Pid, Name) ->
+member(Pid, Name) when is_pid(Pid) ->
     i_member(Pid, Name).
     i_member(Pid, Name).
 
 
 -spec get_members(Name :: any()) -> [pid()].
 -spec get_members(Name :: any()) -> [pid()].

+ 4 - 4
src/syn_registry.erl

@@ -70,25 +70,25 @@ find_by_key(Key, with_meta) ->
     end.
     end.
 
 
 -spec find_by_pid(Pid :: pid()) -> Key :: any() | undefined.
 -spec find_by_pid(Pid :: pid()) -> Key :: any() | undefined.
-find_by_pid(Pid) ->
+find_by_pid(Pid) when is_pid(Pid) ->
     case i_find_by_pid(on_connected_node, Pid) of
     case i_find_by_pid(on_connected_node, Pid) of
         undefined -> undefined;
         undefined -> undefined;
         Process -> Process#syn_registry_table.key
         Process -> Process#syn_registry_table.key
     end.
     end.
 
 
 -spec find_by_pid(Pid :: pid(), with_meta) -> {Key :: any(), Meta :: any()} | undefined.
 -spec find_by_pid(Pid :: pid(), with_meta) -> {Key :: any(), Meta :: any()} | undefined.
-find_by_pid(Pid, with_meta) ->
+find_by_pid(Pid, with_meta) when is_pid(Pid) ->
     case i_find_by_pid(on_connected_node, Pid) of
     case i_find_by_pid(on_connected_node, Pid) of
         undefined -> undefined;
         undefined -> undefined;
         Process -> {Process#syn_registry_table.key, Process#syn_registry_table.meta}
         Process -> {Process#syn_registry_table.key, Process#syn_registry_table.meta}
     end.
     end.
 
 
 -spec register(Key :: any(), Pid :: pid()) -> ok | {error, taken | pid_already_registered}.
 -spec register(Key :: any(), Pid :: pid()) -> ok | {error, taken | pid_already_registered}.
-register(Key, Pid) ->
+register(Key, Pid) when is_pid(Pid) ->
     register(Key, Pid, undefined).
     register(Key, Pid, undefined).
 
 
 -spec register(Key :: any(), Pid :: pid(), Meta :: any()) -> ok | {error, taken | pid_already_registered}.
 -spec register(Key :: any(), Pid :: pid(), Meta :: any()) -> ok | {error, taken | pid_already_registered}.
-register(Key, Pid, Meta) ->
+register(Key, Pid, Meta) when is_pid(Pid) ->
     Node = node(Pid),
     Node = node(Pid),
     gen_server:call({?MODULE, Node}, {register_on_node, Key, Pid, Meta}).
     gen_server:call({?MODULE, Node}, {register_on_node, Key, Pid, Meta}).