diff options
author | David Ansari <[email protected]> | 2024-04-11 15:26:23 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2025-01-24 13:06:29 +0100 |
commit | fcab905ecac3adc77348880c9702e53d65681344 (patch) | |
tree | 27e7e8d8305d3131e3ef286bf2c8e27aca2446b3 /src | |
parent | 2531b26acf804892b27a9171afa566ac007616ef (diff) | |
download | cowboy-fcab905ecac3adc77348880c9702e53d65681344.tar.gz cowboy-fcab905ecac3adc77348880c9702e53d65681344.tar.bz2 cowboy-fcab905ecac3adc77348880c9702e53d65681344.zip |
Cancel timers async
Where it wasn't already async. To slightly improve performance.
Diffstat (limited to 'src')
-rw-r--r-- | src/cowboy_clock.erl | 2 | ||||
-rw-r--r-- | src/cowboy_http.erl | 2 | ||||
-rw-r--r-- | src/cowboy_websocket.erl | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/cowboy_clock.erl b/src/cowboy_clock.erl index e2cdf62..b484394 100644 --- a/src/cowboy_clock.erl +++ b/src/cowboy_clock.erl @@ -93,7 +93,7 @@ handle_cast(_Msg, State) -> -spec handle_info(any(), State) -> {noreply, State} when State::#state{}. handle_info(update, #state{universaltime=Prev, rfc1123=B1, tref=TRef0}) -> %% Cancel the timer in case an external process sent an update message. - _ = erlang:cancel_timer(TRef0), + _ = erlang:cancel_timer(TRef0, [{async, true}, {info, false}]), T = erlang:universaltime(), B2 = update_rfc1123(B1, Prev, T), ets:insert(?MODULE, {rfc1123, B2}), diff --git a/src/cowboy_http.erl b/src/cowboy_http.erl index 78d65d2..7c62b13 100644 --- a/src/cowboy_http.erl +++ b/src/cowboy_http.erl @@ -328,7 +328,7 @@ cancel_timeout(State=#state{timer=TimerRef}) -> _ -> %% Do a synchronous cancel and remove the message if any %% to avoid receiving stray messages. - _ = erlang:cancel_timer(TimerRef), + _ = erlang:cancel_timer(TimerRef, [{async, false}, {info, false}]), receive {timeout, TimerRef, _} -> ok after 0 -> diff --git a/src/cowboy_websocket.erl b/src/cowboy_websocket.erl index 3d85a75..8d3ed08 100644 --- a/src/cowboy_websocket.erl +++ b/src/cowboy_websocket.erl @@ -391,7 +391,7 @@ set_idle_timeout(State=#state{opts=Opts, timeout_ref=PrevRef}, TimeoutNum) -> %% options are changed dynamically. _ = case PrevRef of undefined -> ignore; - PrevRef -> erlang:cancel_timer(PrevRef) + PrevRef -> erlang:cancel_timer(PrevRef, [{async, true}, {info, false}]) end, case maps:get(idle_timeout, Opts, 60000) of infinity -> |