aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-22 19:58:59 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2016-03-22 20:01:23 +0300
commitcb27a3540e62e19c2ac0aeadd804f666597cf0bd (patch)
tree8578df35232e9c013e4a28ecb510d2ad467ebebe
parentKeep alive Riak connections by default (diff)
Fix is_connected/0 function
-rw-r--r--src/ejabberd_riak.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ejabberd_riak.erl b/src/ejabberd_riak.erl
index 82ffe5e3d..575810acc 100644
--- a/src/ejabberd_riak.erl
+++ b/src/ejabberd_riak.erl
@@ -75,10 +75,12 @@ start_link(Num, Server, Port, _StartInterval, Options) ->
is_connected() ->
lists:all(
fun({_Id, Pid, _Type, _Modules}) when is_pid(Pid) ->
- case catch riakc_pb_socket:is_connected(get_random_pid()) of
+ case catch riakc_pb_socket:is_connected(get_riak_pid(Pid)) of
true -> true;
_ -> false
- end
+ end;
+ (_) ->
+ false
end, supervisor:which_children(ejabberd_riak_sup)).
%% @private
@@ -521,6 +523,9 @@ make_invalid_object(Val) ->
get_random_pid() ->
PoolPid = ejabberd_riak_sup:get_random_pid(),
+ get_riak_pid(PoolPid).
+
+get_riak_pid(PoolPid) ->
case catch gen_server:call(PoolPid, get_pid) of
{ok, Pid} ->
Pid;