diff options
Diffstat (limited to 'src/rabbit_amqqueue.erl')
-rw-r--r-- | src/rabbit_amqqueue.erl | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 64f078bd..198e2782 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -241,14 +241,16 @@ delete(#amqqueue{ pid = QPid }, IfUnused, IfEmpty) -> purge(#amqqueue{ pid = QPid }) -> gen_server2:call(QPid, purge, infinity). -deliver(QPid, #delivery{immediate = true, txn = Txn, message = Message}) -> - gen_server2:call(QPid, {deliver_immediately, Txn, Message}, +deliver(QPid, #delivery{immediate = true, + txn = Txn, sender = ChPid, message = Message}) -> + gen_server2:call(QPid, {deliver_immediately, Txn, Message, ChPid}, infinity); -deliver(QPid, #delivery{mandatory = true, txn = Txn, message = Message}) -> - gen_server2:call(QPid, {deliver, Txn, Message}, infinity), +deliver(QPid, #delivery{mandatory = true, + txn = Txn, sender = ChPid, message = Message}) -> + gen_server2:call(QPid, {deliver, Txn, Message, ChPid}, infinity), true; -deliver(QPid, #delivery{txn = Txn, message = Message}) -> - gen_server2:cast(QPid, {deliver, Txn, Message}), +deliver(QPid, #delivery{txn = Txn, sender = ChPid, message = Message}) -> + gen_server2:cast(QPid, {deliver, Txn, Message, ChPid}), true. redeliver(QPid, Messages) -> |