summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Peticolas <[email protected]>2013-06-08 14:58:03 -0700
committerDave Peticolas <[email protected]>2013-06-08 14:58:03 -0700
commit22ac46d2138a5cedf8cb6a7591a47bad1402f261 (patch)
tree5ab37f2c3619089ce37912a0b6a2747a9538322d
parent14b83979aa35d0ca2241819b26c2d22865dbdcd5 (diff)
downloadbullet-22ac46d2138a5cedf8cb6a7591a47bad1402f261.tar.gz
bullet-22ac46d2138a5cedf8cb6a7591a47bad1402f261.tar.bz2
bullet-22ac46d2138a5cedf8cb6a7591a47bad1402f261.zip
Cancel the refresh timer in terminate/2.
-rw-r--r--examples/clock/src/stream_handler.erl13
1 files changed, 7 insertions, 6 deletions
diff --git a/examples/clock/src/stream_handler.erl b/examples/clock/src/stream_handler.erl
index 4f18b9d..2f08342 100644
--- a/examples/clock/src/stream_handler.erl
+++ b/examples/clock/src/stream_handler.erl
@@ -12,8 +12,8 @@
init(_Transport, Req, _Opts, _Active) ->
io:format("bullet init~n"),
- _ = erlang:send_after(?PERIOD, self(), refresh),
- {ok, Req, undefined}.
+ TRef = erlang:send_after(?PERIOD, self(), refresh),
+ {ok, Req, TRef}.
stream(<<"ping">>, Req, State) ->
io:format("ping received~n"),
@@ -22,15 +22,16 @@ stream(Data, Req, State) ->
io:format("stream received ~s~n", [Data]),
{ok, Req, State}.
-info(refresh, Req, State) ->
- _ = erlang:send_after(?PERIOD, self(), refresh),
+info(refresh, Req, _) ->
+ TRef = erlang:send_after(?PERIOD, self(), refresh),
DateTime = cowboy_clock:rfc1123(),
io:format("clock refresh timeout: ~s~n", [DateTime]),
- {reply, DateTime, Req, State};
+ {reply, DateTime, Req, TRef};
info(Info, Req, State) ->
io:format("info received ~p~n", [Info]),
{ok, Req, State}.
-terminate(_Req, _State) ->
+terminate(_Req, TRef) ->
io:format("bullet terminate~n"),
+ erlang:cancel_timer(TRef),
ok.