0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-16 13:10:24 +00:00

Fix cancelling undefined settings timer

when settings_timeout is infinity
This commit is contained in:
Bing Han 2018-07-05 00:32:07 +08:00 committed by Loïc Hoguin
parent aee40d5bb5
commit e9fd2925ae
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
2 changed files with 21 additions and 1 deletions

View file

@ -485,7 +485,10 @@ frame(State0=#state{socket=Socket, transport=Transport, opts=Opts,
%% Ack for a previously sent SETTINGS frame.
frame(State0=#state{local_settings=Local0, next_settings=NextSettings,
next_settings_timer=TRef}, settings_ack) ->
ok = erlang:cancel_timer(TRef, [{async, true}, {info, false}]),
ok = case TRef of
undefined -> ok;
_ -> erlang:cancel_timer(TRef, [{async, true}, {info, false}])
end,
Local = maps:merge(Local0, NextSettings),
State1 = State0#state{local_settings=Local, next_settings=#{},
next_settings_timer=undefined},