diff options
author | Dave Peticolas <[email protected]> | 2013-06-08 14:58:03 -0700 |
---|---|---|
committer | Dave Peticolas <[email protected]> | 2013-06-08 14:58:03 -0700 |
commit | 22ac46d2138a5cedf8cb6a7591a47bad1402f261 (patch) | |
tree | 5ab37f2c3619089ce37912a0b6a2747a9538322d /examples/clock/src | |
parent | 14b83979aa35d0ca2241819b26c2d22865dbdcd5 (diff) | |
download | bullet-22ac46d2138a5cedf8cb6a7591a47bad1402f261.tar.gz bullet-22ac46d2138a5cedf8cb6a7591a47bad1402f261.tar.bz2 bullet-22ac46d2138a5cedf8cb6a7591a47bad1402f261.zip |
Cancel the refresh timer in terminate/2.
Diffstat (limited to 'examples/clock/src')
-rw-r--r-- | examples/clock/src/stream_handler.erl | 13 |
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. |