aboutsummaryrefslogtreecommitdiff
path: root/src/mod_proxy65_stream.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-07-03 13:44:58 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-07-03 13:44:58 +0300
commit295bec85517a6ae44fdd3ad9fe7e00516fd92a23 (patch)
tree6600bc6a63c21b85c0ca6598337a4717de828b67 /src/mod_proxy65_stream.erl
parentIncrease default buffer size for mod_proxy65 (diff)
Don't ignore send() result
Diffstat (limited to 'src/mod_proxy65_stream.erl')
-rw-r--r--src/mod_proxy65_stream.erl21
1 files 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.
%%%------------------------