aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch.erl
diff options
context:
space:
mode:
authorjuhlig <[email protected]>2020-04-20 17:03:17 +0200
committerjuhlig <[email protected]>2020-04-20 17:03:17 +0200
commit9765f305e1f55f758a683bd95665fd0ab84a52c3 (patch)
treea45cf397516b3e59f7a8065e7f76bba46a64e3d7 /src/ranch.erl
parent821937cea1a9afacd2dc2448440ad6f64d3a29f1 (diff)
downloadranch-9765f305e1f55f758a683bd95665fd0ab84a52c3.tar.gz
ranch-9765f305e1f55f758a683bd95665fd0ab84a52c3.tar.bz2
ranch-9765f305e1f55f758a683bd95665fd0ab84a52c3.zip
Delete local socket file when a listener closes
Diffstat (limited to 'src/ranch.erl')
-rw-r--r--src/ranch.erl5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ranch.erl b/src/ranch.erl
index a400798..7a03ef2 100644
--- a/src/ranch.erl
+++ b/src/ranch.erl
@@ -155,10 +155,13 @@ start_error(_, Error) -> Error.
-spec stop_listener(ref()) -> ok | {error, not_found}.
stop_listener(Ref) ->
+ [_, Transport, _, _, _] = ranch_server:get_listener_start_args(Ref),
+ TransOpts = get_transport_options(Ref),
case supervisor:terminate_child(ranch_sup, {ranch_listener_sup, Ref}) of
ok ->
_ = supervisor:delete_child(ranch_sup, {ranch_listener_sup, Ref}),
- ranch_server:cleanup_listener_opts(Ref);
+ ranch_server:cleanup_listener_opts(Ref),
+ Transport:cleanup(TransOpts);
{error, Reason} ->
{error, Reason}
end.