From bac2faea84357980ce20d5ebcaa34f0550e0447a Mon Sep 17 00:00:00 2001 From: Slava Yurin Date: Wed, 26 Feb 2014 18:38:10 +0700 Subject: Fix inherit listen options for accepted socket Order of options in listen is undocumented but significant. Now user option will replace default value if user set it. --- test/check_tcp_options.erl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 test/check_tcp_options.erl (limited to 'test/check_tcp_options.erl') diff --git a/test/check_tcp_options.erl b/test/check_tcp_options.erl new file mode 100644 index 0000000..18432ac --- /dev/null +++ b/test/check_tcp_options.erl @@ -0,0 +1,15 @@ +-module(check_tcp_options). +-behaviour(ranch_protocol). + +-export([start_link/4]). +-export([init/3]). + +start_link(_, Socket, _, [{pid, TestPid}|TcpOptions]) -> + {ok, RealTcpOptions} = + inet:getopts(Socket, [Key || {Key, _} <- TcpOptions]), + Pid = spawn_link(?MODULE, init, [TestPid, RealTcpOptions, TcpOptions]), + {ok, Pid}. + +init(Pid, TcpOptions, TcpOptions) -> + Pid ! checked, + receive after 2500 -> ok end. -- cgit v1.2.3