DISPATCH-179 - Fixed the handling of deliveries accepted by an internal endpoint (management agent).
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/b6ef1c36 Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/b6ef1c36 Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/b6ef1c36 Branch: refs/heads/tross-DISPATCH-179-1 Commit: b6ef1c36876613ef7ab87c6c3d388c77db497e10 Parents: 4fbc6e8 Author: Ted Ross <[email protected]> Authored: Fri Jan 29 13:24:36 2016 -0500 Committer: Ted Ross <[email protected]> Committed: Fri Jan 29 13:24:36 2016 -0500 ---------------------------------------------------------------------- src/router_core/transfer.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b6ef1c36/src/router_core/transfer.c ---------------------------------------------------------------------- diff --git a/src/router_core/transfer.c b/src/router_core/transfer.c index 50e5320..6bda6ad 100644 --- a/src/router_core/transfer.c +++ b/src/router_core/transfer.c @@ -303,14 +303,20 @@ static void qdr_link_deliver_CT(qdr_core_t *core, qdr_action_t *action, bool dis // } } else if (fanout == 1) { - if (presettled) { + if (dlv->settled) { // - // The delivery was pre-settled. Issue replacement credit now that it's - // been forwarded. + // The delivery is settled. Keep it off the unsettled list and issue + // replacement credit for it now. // qdr_link_issue_credit_CT(core, link, 1); - assert(!dlv->peer); - qdr_delivery_free(dlv); + + // + // If the delivery was pre-settled, free it now. + // + if (presettled) { + assert(!dlv->peer); + qdr_delivery_free(dlv); + } } else DEQ_INSERT_TAIL(link->unsettled, dlv); } else { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
