aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2017-08-11 18:21:02 +0200
committerLoïc Hoguin <[email protected]>2017-08-11 18:21:02 +0200
commit0ffaebff959e5399c7d6fdc8672e32c288d34754 (patch)
tree41733a28dc0cb7c1d3a15cde9a8e7658b767ad62 /src/gun.erl
parent12eae6ef6ce51a7354c13cae0e11bf0f63aa1078 (diff)
downloadgun-0ffaebff959e5399c7d6fdc8672e32c288d34754.tar.gz
gun-0ffaebff959e5399c7d6fdc8672e32c288d34754.tar.bz2
gun-0ffaebff959e5399c7d6fdc8672e32c288d34754.zip
Add missing Websocket clause detecting owner is gone
Diffstat (limited to 'src/gun.erl')
-rw-r--r--src/gun.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gun.erl b/src/gun.erl
index 3eafe10..bf988da 100644
--- a/src/gun.erl
+++ b/src/gun.erl
@@ -769,6 +769,10 @@ ws_loop(State=#state{parent=Parent, owner=Owner, socket=Socket,
{shutdown, Owner} ->
%% @todo Protocol:shutdown? %% @todo close frame
ok;
+ {'DOWN', OwnerRef, process, Owner, Reason} ->
+ Protocol:close(owner_gone, ProtoState),
+ Transport:close(Socket),
+ error({owner_gone, Reason});
{system, From, Request} ->
sys:handle_system_msg(Request, From, Parent, ?MODULE, [],
{ws_loop, State});