diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2012-08-08 10:12:22 +0100 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2012-08-08 10:12:22 +0100 |
| commit | 0d690137d08af19d9e9f9f42b3a261c2440633a1 (patch) | |
| tree | 260d07b4da7142a9ac552649f1e2eff39423de59 /src | |
| parent | 035765465d459615b85ffe7a3aaf5c7e5009f463 (diff) | |
| download | rabbitmq-server-git-0d690137d08af19d9e9f9f42b3a261c2440633a1.tar.gz | |
Remove vhost parameters when removing vhost. And a tiny driveby refactor.
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_runtime_parameters.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_vhost.erl | 13 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/rabbit_runtime_parameters.erl b/src/rabbit_runtime_parameters.erl index df026efd66..0707193c41 100644 --- a/src/rabbit_runtime_parameters.erl +++ b/src/rabbit_runtime_parameters.erl @@ -19,7 +19,7 @@ -include("rabbit.hrl"). -export([parse_set/4, set/4, clear/3, - list/0, list_strict/1, list/2, list_strict/2, list_formatted/1, + list/0, list/1, list_strict/1, list/2, list_strict/2, list_formatted/1, lookup/3, value/3, value/4, info_keys/0]). %%---------------------------------------------------------------------------- @@ -35,6 +35,7 @@ -spec(clear/3 :: (rabbit_types:vhost(), binary(), binary()) -> ok_or_error_string()). -spec(list/0 :: () -> [rabbit_types:infos()]). +-spec(list/1 :: (rabbit_types:vhost()) -> [rabbit_types:infos()]). -spec(list_strict/1 :: (binary()) -> [rabbit_types:infos()] | 'not_found'). -spec(list/2 :: (rabbit_types:vhost(), binary()) -> [rabbit_types:infos()]). -spec(list_strict/2 :: (rabbit_types:vhost(), binary()) diff --git a/src/rabbit_vhost.erl b/src/rabbit_vhost.erl index 5548ef6d05..03dfbe245d 100644 --- a/src/rabbit_vhost.erl +++ b/src/rabbit_vhost.erl @@ -90,12 +90,13 @@ delete(VHostPath) -> R. internal_delete(VHostPath) -> - lists:foreach( - fun (Info) -> - ok = rabbit_auth_backend_internal:clear_permissions( - proplists:get_value(user, Info), VHostPath) - end, - rabbit_auth_backend_internal:list_vhost_permissions(VHostPath)), + [ok = rabbit_auth_backend_internal:clear_permissions( + proplists:get_value(user, Info), VHostPath) + || Info <- rabbit_auth_backend_internal:list_vhost_permissions(VHostPath)], + [ok = rabbit_runtime_parameters:clear(VHostPath, + proplists:get_value(component, Info), + proplists:get_value(key, Info)) + || Info <- rabbit_runtime_parameters:list(VHostPath)], ok = mnesia:delete({rabbit_vhost, VHostPath}), ok. |
