Skip to content
Permalink
Browse files
Update config_listener behaviuor
COUCHDB-2561
  • Loading branch information
iilyak committed Jan 30, 2015
1 parent 2175035 commit ad60d329a038d2b1aa5ee083f22b1ee7906ec31d
Showing 1 changed file with 8 additions and 7 deletions.
@@ -18,7 +18,7 @@
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, code_change/3, terminate/2]).

% config_listener api
-export([handle_config_change/5]).
-export([handle_config_change/5, handle_config_terminate/3]).

-record(state, {
concurrency,
@@ -83,12 +83,6 @@ handle_info({'DOWN', Ref, _, _, Reason}, State) ->
false ->
{noreply, State, 0}
end;
handle_info({gen_event_EXIT, {config_listener, ?MODULE}, _Reason}, State) ->
erlang:send_after(5000, self(), restart_config_listener),
{noreply, State};
handle_info(restart_config_listener, State) ->
ok = config:listen_for_changes(?MODULE, nil),
{noreply, State};
handle_info(timeout, State) ->
{noreply, maybe_submit_request(State)}.

@@ -97,6 +91,13 @@ handle_config_change("ioq", _, _, _, _) ->
handle_config_change(_, _, _, _, _) ->
{ok, nil}.

handle_config_terminate(_, _, _) ->
spawn(fun() ->
timer:sleep(5000),
config:listen_for_changes(?MODULE, nil)
end),
ok.

code_change(_Vsn, State, _Extra) ->
{ok, State}.

0 comments on commit ad60d32

Please sign in to comment.