summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2010-08-05 08:19:56 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2010-08-05 08:19:56 +0100
commit5f1983c46f1a8526a68491ba6b5e279f94b52dac (patch)
tree0845cf22be58ce0f0145fef53f0bea77a2ec3a15
parent4ec28f563e93d060feb5383d0dbe83814266b0e3 (diff)
downloadrabbitmq-server-bug20078.tar.gz
don't barf on tx.commit when some queues have been deletedbug20078
-rw-r--r--src/rabbit_amqqueue.erl8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index d4226331..f23fe016 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -386,7 +386,6 @@ reject(QPid, MsgIds, Requeue, ChPid) ->
commit_all(QPids, Txn, ChPid) ->
safe_delegate_call_ok(
- fun (QPid) -> exit({queue_disappeared, QPid}) end,
fun (QPid) -> gen_server2:call(QPid, {commit, Txn, ChPid}, infinity) end,
QPids).
@@ -396,9 +395,6 @@ rollback_all(QPids, Txn, ChPid) ->
notify_down_all(QPids, ChPid) ->
safe_delegate_call_ok(
- %% we don't care if the queue process has terminated in the
- %% meantime
- fun (_) -> ok end,
fun (QPid) -> gen_server2:call(QPid, {notify_down, ChPid}, infinity) end,
QPids).
@@ -493,11 +489,11 @@ pseudo_queue(QueueName, Pid) ->
arguments = [],
pid = Pid}.
-safe_delegate_call_ok(H, F, Pids) ->
+safe_delegate_call_ok(F, Pids) ->
{_, Bad} = delegate:invoke(Pids,
fun (Pid) ->
rabbit_misc:with_exit_handler(
- fun () -> H(Pid) end,
+ fun () -> ok end,
fun () -> F(Pid) end)
end),
case Bad of