diff options
Diffstat (limited to 'src/ranch_acceptor.erl')
-rw-r--r-- | src/ranch_acceptor.erl | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/src/ranch_acceptor.erl b/src/ranch_acceptor.erl index ada8016..0224f9e 100644 --- a/src/ranch_acceptor.erl +++ b/src/ranch_acceptor.erl @@ -14,17 +14,17 @@ -module(ranch_acceptor). --export([start_link/3]). --export([loop/3]). +-export([start_link/4]). +-export([loop/4]). --spec start_link(inet:socket(), module(), pid()) +-spec start_link(inet:socket(), module(), module(), pid()) -> {ok, pid()}. -start_link(LSocket, Transport, ConnsSup) -> - Pid = spawn_link(?MODULE, loop, [LSocket, Transport, ConnsSup]), +start_link(LSocket, Transport, Logger, ConnsSup) -> + Pid = spawn_link(?MODULE, loop, [LSocket, Transport, Logger, ConnsSup]), {ok, Pid}. --spec loop(inet:socket(), module(), pid()) -> no_return(). -loop(LSocket, Transport, ConnsSup) -> +-spec loop(inet:socket(), module(), module(), pid()) -> no_return(). +loop(LSocket, Transport, Logger, ConnsSup) -> _ = case Transport:accept(LSocket, infinity) of {ok, CSocket} -> case Transport:controlling_process(CSocket, ConnsSup) of @@ -39,21 +39,23 @@ loop(LSocket, Transport, ConnsSup) -> %% We can't accept anymore anyway, so we might as well wait %% a little for the situation to resolve itself. {error, emfile} -> - error_logger:warning_msg("Ranch acceptor reducing accept rate: out of file descriptors~n"), + ranch:log(warning, + "Ranch acceptor reducing accept rate: out of file descriptors~n", + [], Logger), receive after 100 -> ok end; %% We want to crash if the listening socket got closed. {error, Reason} when Reason =/= closed -> ok end, - flush(), - ?MODULE:loop(LSocket, Transport, ConnsSup). + flush(Logger), + ?MODULE:loop(LSocket, Transport, Logger, ConnsSup). -flush() -> +flush(Logger) -> receive Msg -> - error_logger:error_msg( + ranch:log(warning, "Ranch acceptor received unexpected message: ~p~n", - [Msg]), - flush() + [Msg], Logger), + flush(Logger) after 0 -> ok end. |