From 2c93d8ef43dbae0f9a9a44d1c70d28195f2a0a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 15 Nov 2016 13:47:02 +0200 Subject: Remove bad advice for gen_server protocols Also improves the good example a little by using spawn_link instead of start_link. --- examples/tcp_reverse/src/reverse_protocol.erl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/tcp_reverse/src/reverse_protocol.erl b/examples/tcp_reverse/src/reverse_protocol.erl index 6f7c770..2c7c15b 100644 --- a/examples/tcp_reverse/src/reverse_protocol.erl +++ b/examples/tcp_reverse/src/reverse_protocol.erl @@ -9,7 +9,6 @@ %% gen_server. -export([init/1]). --export([init/4]). -export([handle_call/3]). -export([handle_cast/2]). -export([handle_info/2]). @@ -23,16 +22,15 @@ %% API. start_link(Ref, Socket, Transport, Opts) -> - proc_lib:start_link(?MODULE, init, [Ref, Socket, Transport, Opts]). + {ok, proc_lib:spawn_link(?MODULE, init, [{Ref, Socket, Transport, Opts}])}. %% gen_server. %% This function is never called. We only define it so that %% we can use the -behaviour(gen_server) attribute. -init([]) -> {ok, undefined}. +%init([]) -> {ok, undefined}. -init(Ref, Socket, Transport, _Opts = []) -> - ok = proc_lib:init_ack({ok, self()}), +init({Ref, Socket, Transport, _Opts = []}) -> ok = ranch:accept_ack(Ref), ok = Transport:setopts(Socket, [{active, once}]), gen_server:enter_loop(?MODULE, [], -- cgit v1.2.3