Просмотр исходного кода

Fix incorrect return value in syn_groups:handle_call/3

Shunsuke Kirino 8 лет назад
Родитель
Сommit
cdcc83ff9b
2 измененных файлов с 3 добавлено и 1 удалено
  1. 1 1
      src/syn_groups.erl
  2. 2 0
      test/syn_groups_SUITE.erl

+ 1 - 1
src/syn_groups.erl

@@ -180,7 +180,7 @@ handle_call({join, Name, Pid, Meta}, _From, State) ->
 handle_call({leave, Name, Pid}, _From, State) ->
     case find_by_pid_and_name(Pid, Name) of
         undefined ->
-            {error, pid_not_in_group};
+            {reply, {error, pid_not_in_group}, State};
         Process ->
             %% remove from table
             remove_process(Process),

+ 2 - 0
test/syn_groups_SUITE.erl

@@ -214,6 +214,8 @@ single_node_leave(_Config) ->
     %% retrieve
     [] = syn:get_members(<<"my group">>),
     false = syn:member(Pid, <<"my group">>),
+    %% leave before join
+    {error, pid_not_in_group} = syn:leave(<<"my group">>, Pid),
     %% join
     ok = syn:join(<<"my group">>, Pid),
     %% retrieve