diff options
| author | James Fish <[email protected]> | 2013-04-01 23:47:02 +0100 | 
|---|---|---|
| committer | James Fish <[email protected]> | 2013-04-02 16:08:08 +0100 | 
| commit | bb9f91b8658ab304a7038bcbca80dd518f53e026 (patch) | |
| tree | ab43766e99b4bc4b156cd1a0f3978fd48ddf5854 /src | |
| parent | 109c63d0e76ca6248863932c7a9957f8093cfaf2 (diff) | |
| download | ranch-bb9f91b8658ab304a7038bcbca80dd518f53e026.tar.gz ranch-bb9f91b8658ab304a7038bcbca80dd518f53e026.tar.bz2 ranch-bb9f91b8658ab304a7038bcbca80dd518f53e026.zip | |
Add ranch_server state recovery
When ranch_server crashes it will now remonitor previously registered
ranch_conns_sup processes so they can be removed from the registry when
they die.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ranch_server.erl | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/src/ranch_server.erl b/src/ranch_server.erl index d827ae2..7557d53 100644 --- a/src/ranch_server.erl +++ b/src/ranch_server.erl @@ -114,7 +114,9 @@ count_connections(Ref) ->  %% @private  init([]) -> -	{ok, #state{}}. +	Monitors = [{{erlang:monitor(process, Pid), Pid}, Ref} || +		[Ref, Pid] <- ets:match(?TAB, {{conns_sup, '$1'}, '$2'})], +	{ok, #state{monitors=Monitors}}.  %% @private  handle_call({set_new_listener_opts, Ref, MaxConns, Opts}, _, State) -> | 
