diff options
author | Ingela Anderton Andin <[email protected]> | 2011-12-07 11:35:11 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2011-12-07 11:35:11 +0100 |
commit | cdb2c77194bf54007c7bb069d9ac2d334cc177ab (patch) | |
tree | 6c269135236e6301bac1803049a2ef5fa5cef41d /lib/ssl/src/ssl_manager.erl | |
parent | a1f72ad056cbec4cd69ff4ef0e9c2cc744361eac (diff) | |
parent | becb65f433c26133a519e367540a25d1036010b6 (diff) | |
download | otp-cdb2c77194bf54007c7bb069d9ac2d334cc177ab.tar.gz otp-cdb2c77194bf54007c7bb069d9ac2d334cc177ab.tar.bz2 otp-cdb2c77194bf54007c7bb069d9ac2d334cc177ab.zip |
Merge branch 'ia/ssl/session/cleanup-test'
* ia/ssl/session/cleanup-test:
Improve ssl session cleanup test
Diffstat (limited to 'lib/ssl/src/ssl_manager.erl')
-rw-r--r-- | lib/ssl/src/ssl_manager.erl | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/ssl/src/ssl_manager.erl b/lib/ssl/src/ssl_manager.erl index 6a44ef8c3e..6389ff03f5 100644 --- a/lib/ssl/src/ssl_manager.erl +++ b/lib/ssl/src/ssl_manager.erl @@ -51,7 +51,7 @@ session_lifetime, certificate_db, session_validation_timer, - last_delay_timer %% Keep for testing purposes + last_delay_timer = {undefined, undefined}%% Keep for testing purposes }). -define('24H_in_msec', 8640000). @@ -427,7 +427,7 @@ delay_time() -> ?CLEAN_SESSION_DB end. -invalidate_session(Cache, CacheCb, Key, Session, State) -> +invalidate_session(Cache, CacheCb, Key, Session, #state{last_delay_timer = LastTimer} = State) -> case CacheCb:lookup(Cache, Key) of undefined -> %% Session is already invalidated {noreply, State}; @@ -441,5 +441,10 @@ invalidate_session(Cache, CacheCb, Key, Session, State) -> CacheCb:update(Cache, Key, Session#session{is_resumable = false}), TRef = erlang:send_after(delay_time(), self(), {delayed_clean_session, Key}), - {noreply, State#state{last_delay_timer = TRef}} + {noreply, State#state{last_delay_timer = last_delay_timer(Key, TRef, LastTimer)}} end. + +last_delay_timer({{_,_},_}, TRef, {LastServer, _}) -> + {LastServer, TRef}; +last_delay_timer({_,_}, TRef, {_, LastClient}) -> + {TRef, LastClient}. |