diff options
author | Alexander Shorin <kxepal@apache.org> | 2015-02-04 18:43:21 +0300 |
---|---|---|
committer | Alexander Shorin <kxepal@apache.org> | 2015-02-04 18:43:21 +0300 |
commit | c7c75ebeaf41599e3a3e211097d864f0e7785829 (patch) | |
tree | eb709dcb55749662ac18a15b488f152cba919dc2 | |
parent | 217503577e23f26dfd2f9cbaa52e9f78aaa3b308 (diff) | |
parent | 0ffa7cd9fd1e89ae667ed234d21e04696e3033ae (diff) | |
download | couchdb-c7c75ebeaf41599e3a3e211097d864f0e7785829.tar.gz |
Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
This closes #3
COUCHDB-2561
-rw-r--r-- | src/ioq.erl | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/ioq.erl b/src/ioq.erl index 6c01b9c60..967a49b86 100644 --- a/src/ioq.erl +++ b/src/ioq.erl @@ -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,14 @@ handle_config_change("ioq", _, _, _, _) -> handle_config_change(_, _, _, _, _) -> {ok, nil}. +handle_config_terminate(_, stop, _) -> ok; +handle_config_terminate(_, _, _) -> + spawn(fun() -> + timer:sleep(5000), + config:listen_for_changes(?MODULE, nil) + end), + ok. + code_change(_Vsn, State, _Extra) -> {ok, State}. |