diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2016-03-22 19:58:59 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2016-03-22 20:01:23 +0300 |
commit | cb27a3540e62e19c2ac0aeadd804f666597cf0bd (patch) | |
tree | 8578df35232e9c013e4a28ecb510d2ad467ebebe | |
parent | Keep alive Riak connections by default (diff) |
Fix is_connected/0 function
-rw-r--r-- | src/ejabberd_riak.erl | 9 |
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; |