From 3df8e6c32aa31b23e2a8829abeeb18b00d639fb4 Mon Sep 17 00:00:00 2001 From: Ganesh Murthy Date: Mon, 3 Sep 2018 10:29:55 -0400 Subject: [PATCH] DISPATCH-1112 - Additional fix. Modified qdr_link_process_deliveries() to not continue processing deliveries if detach has been received on that link --- src/router_core/transfer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/router_core/transfer.c b/src/router_core/transfer.c index a2374fb1b8..92b320cc35 100644 --- a/src/router_core/transfer.c +++ b/src/router_core/transfer.c @@ -155,6 +155,11 @@ int qdr_link_process_deliveries(qdr_core_t *core, qdr_link_t *link, int credit) int num_deliveries_completed = 0; if (link->link_direction == QD_OUTGOING) { + + // If a detach has been received on the link, there is no need to process deliveries on the link. + if (link->detach_received) + return 0; + while (credit > 0) { sys_mutex_lock(conn->work_lock); dlv = DEQ_HEAD(link->undelivered);