summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_vhost.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rabbit_vhost.erl b/src/rabbit_vhost.erl
index b0350e86..3a1981ad 100644
--- a/src/rabbit_vhost.erl
+++ b/src/rabbit_vhost.erl
@@ -81,8 +81,9 @@ delete(VHostPath) ->
%% eventually the termination of that process. Exchange deletion causes
%% notifications which must be sent outside the TX
rabbit_log:info("Deleting vhost '~s'~n", [VHostPath]),
- [assert_benign(rabbit_amqqueue:delete(Q, false, false)) ||
- Q <- rabbit_amqqueue:list(VHostPath)],
+ QDelFun = fun (Q) -> rabbit_amqqueue:delete(Q, false, false) end,
+ [assert_benign(rabbit_amqqueue:with(Name, QDelFun)) ||
+ #amqqueue{name = Name} <- rabbit_amqqueue:list(VHostPath)],
[assert_benign(rabbit_exchange:delete(Name, false)) ||
#exchange{name = Name} <- rabbit_exchange:list(VHostPath)],
R = rabbit_misc:execute_mnesia_transaction(