diff --git a/src/ecpool_worker.erl b/src/ecpool_worker.erl index 5ab2e7788..d0d16b312 100644 --- a/src/ecpool_worker.erl +++ b/src/ecpool_worker.erl @@ -112,10 +112,13 @@ handle_info({'EXIT', Pid, Reason}, State = #state{client = Pid, opts = Opts}) -> end; handle_info(reconnect, State = #state{opts = Opts}) -> - case catch connect(State) of + try connect(State) of {ok, Client} -> {noreply, State#state{client = Client}}; - {Err, _Reason} when Err =:= error orelse Err =:= 'EXIT' -> + {error, _Reason} -> + reconnect(proplists:get_value(auto_reconnect, Opts), State) + catch + _Error:_Reason -> reconnect(proplists:get_value(auto_reconnect, Opts), State) end;