diff options
-rw-r--r-- | src/rabbit_vhost.erl | 5 |
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( |