From d53cd5297e1b8baffaf5a649f2c6a9763800c569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 3 Oct 2016 23:32:25 +0200 Subject: Add owner option to set owner of Websocket compression contexts Required by Cowboy 2 because it initializes the contexts in a different process than where they are used. --- src/cow_ws.erl | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/cow_ws.erl') diff --git a/src/cow_ws.erl b/src/cow_ws.erl index 6551cbc..24917bb 100644 --- a/src/cow_ws.erl +++ b/src/cow_ws.erl @@ -149,6 +149,16 @@ init_permessage_deflate(InflateWindowBits, DeflateWindowBits, Opts) -> -DeflateWindowBits2, maps:get(mem_level, Opts, 8), maps:get(strategy, Opts, default)), + %% Set the owner pid of the zlib contexts if requested. + _ = case Opts of + #{owner := Pid} -> + true = erlang:port_connect(Inflate, Pid), + true = unlink(Inflate), + true = erlang:port_connect(Deflate, Pid), + unlink(Deflate); + _ -> + true + end, {Inflate, Deflate}. %% @doc Negotiate the x-webkit-deflate-frame extension. -- cgit v1.2.3