Browse Source

Add return_member/1 for the default ok status

Seth Falcon 13 years ago
parent
commit
615b69142c
1 changed files with 11 additions and 0 deletions
  1. 11 0
      src/pooler.erl

+ 11 - 0
src/pooler.erl

@@ -48,6 +48,7 @@
          stop/0,
          stop/0,
          take_member/0,
          take_member/0,
          take_member/1,
          take_member/1,
+         return_member/1,
          return_member/2,
          return_member/2,
          % remove_pool/2,
          % remove_pool/2,
          % add_pool/1,
          % add_pool/1,
@@ -110,6 +111,16 @@ return_member(Pid, Status) when is_pid(Pid) andalso
 return_member(error_no_members, _) ->
 return_member(error_no_members, _) ->
     ok.
     ok.
 
 
+%% @doc Return a member to the pool so it can be reused.
+%%
+-spec return_member(pid() | error_no_members) -> ok.
+return_member(Pid) when is_pid(Pid) ->
+    CPid = self(),
+    gen_server:cast(?SERVER, {return_member, Pid, ok, CPid}),
+    ok;
+return_member(error_no_members) ->
+    ok.
+
 % TODO:
 % TODO:
 % remove_pool(Name, How) when How == graceful; How == immediate ->
 % remove_pool(Name, How) when How == graceful; How == immediate ->
 %     gen_server:call(?SERVER, {remove_pool, Name, How}).
 %     gen_server:call(?SERVER, {remove_pool, Name, How}).