From 295bec85517a6ae44fdd3ad9fe7e00516fd92a23 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Tue, 3 Jul 2018 13:44:58 +0300 Subject: [PATCH] Don't ignore send() result --- src/mod_proxy65_stream.erl | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/mod_proxy65_stream.erl b/src/mod_proxy65_stream.erl index 4ef6e41fd..418e4588f 100644 --- a/src/mod_proxy65_stream.erl +++ b/src/mod_proxy65_stream.erl @@ -245,14 +245,19 @@ handle_sync_event(_Event, _From, StateName, %%%------------------------------------------------- relay(MySocket, PeerSocket, Shaper) -> case gen_tcp:recv(MySocket, 0) of - {ok, Data} -> - gen_tcp:send(PeerSocket, Data), - {NewShaper, Pause} = shaper:update(Shaper, byte_size(Data)), - if Pause > 0 -> timer:sleep(Pause); - true -> pass - end, - relay(MySocket, PeerSocket, NewShaper); - _ -> stopped + {ok, Data} -> + case gen_tcp:send(PeerSocket, Data) of + ok -> + {NewShaper, Pause} = shaper:update(Shaper, byte_size(Data)), + if Pause > 0 -> timer:sleep(Pause); + true -> pass + end, + relay(MySocket, PeerSocket, NewShaper); + {error, _} = Err -> + Err + end; + {error, _} = Err -> + Err end. %%%------------------------