diff options
author | Ingela Anderton Andin <[email protected]> | 2011-06-27 18:10:46 +0200 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2011-06-27 18:10:46 +0200 |
commit | 2262ba2690ba5a977576d04461bdc36f6f73d825 (patch) | |
tree | 2f56c70ebcfb2225781e3e4482090f58d476db5a /lib/ssl/src/ssl_manager.erl | |
parent | b9d8ae5aa52774ed0ce12c9d21ad7f3670c2dca1 (diff) | |
download | otp-2262ba2690ba5a977576d04461bdc36f6f73d825.tar.gz otp-2262ba2690ba5a977576d04461bdc36f6f73d825.tar.bz2 otp-2262ba2690ba5a977576d04461bdc36f6f73d825.zip |
Use erlang:send_after instead of timer:send_after
Also save latest delay cleanup timer ref so that we can
use erlang:read_timer to write a more reliable
test case.
Diffstat (limited to 'lib/ssl/src/ssl_manager.erl')
-rw-r--r-- | lib/ssl/src/ssl_manager.erl | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/ssl/src/ssl_manager.erl b/lib/ssl/src/ssl_manager.erl index 541ca1e918..371bfafae0 100644 --- a/lib/ssl/src/ssl_manager.erl +++ b/lib/ssl/src/ssl_manager.erl @@ -50,7 +50,8 @@ session_cache_cb, session_lifetime, certificate_db, - session_validation_timer + session_validation_timer, + last_delay_timer %% Keep for testing purposes }). -define('24H_in_msec', 8640000). @@ -273,15 +274,17 @@ handle_cast({invalidate_session, Host, Port, #state{session_cache = Cache, session_cache_cb = CacheCb} = State) -> CacheCb:update(Cache, {{Host, Port}, ID}, Session#session{is_resumable = false}), - timer:send_after(delay_time(), self(), {delayed_clean_session, {{Host, Port}, ID}}), - {noreply, State}; + TRef = + erlang:send_after(delay_time(), self(), {delayed_clean_session, {{Host, Port}, ID}}), + {noreply, State#state{last_delay_timer = TRef}}; handle_cast({invalidate_session, Port, #session{session_id = ID} = Session}, #state{session_cache = Cache, session_cache_cb = CacheCb} = State) -> CacheCb:update(Cache, {Port, ID}, Session#session{is_resumable = false}), - timer:send_after(delay_time(), self(), {delayed_clean_session, {Port, ID}}), - {noreply, State}; + TRef = + erlang:send_after(delay_time(), self(), {delayed_clean_session, {Port, ID}}), + {noreply, State#state{last_delay_timer = TRef}}; handle_cast({recache_pem, File, LastWrite, Pid, From}, #state{certificate_db = [_, FileToRefDb, _]} = State0) -> |