You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2017/11/08 22:08:35 UTC

qpid-dispatch git commit: DISPATCH-865 - Don't account for delivery linkage when there is no link.

Repository: qpid-dispatch
Updated Branches:
  refs/heads/master c39d6ba64 -> ede8b029a


DISPATCH-865 - Don't account for delivery linkage when there is no link.


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/ede8b029
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/ede8b029
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/ede8b029

Branch: refs/heads/master
Commit: ede8b029a322c0f208359ecb47365daab648552d
Parents: c39d6ba
Author: Ted Ross <tr...@redhat.com>
Authored: Wed Nov 8 17:07:40 2017 -0500
Committer: Ted Ross <tr...@redhat.com>
Committed: Wed Nov 8 17:07:40 2017 -0500

----------------------------------------------------------------------
 src/router_node.c | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/ede8b029/src/router_node.c
----------------------------------------------------------------------
diff --git a/src/router_node.c b/src/router_node.c
index 7a165b2..d62365f 100644
--- a/src/router_node.c
+++ b/src/router_node.c
@@ -69,6 +69,9 @@ static void qdr_node_connect_deliveries(qd_link_t *link, qdr_delivery_t *qdlv, p
 
 static void qdr_node_disconnect_deliveries(qdr_core_t *core, qd_link_t *link, qdr_delivery_t *qdlv, pn_delivery_t *pdlv)
 {
+    if (!link)
+        return;
+
     qd_link_ref_t      *ref  = (qd_link_ref_t*) pn_delivery_get_context(pdlv);
     qd_link_ref_list_t *list = qd_link_get_ref_list(link);
 
@@ -104,8 +107,10 @@ static void qdr_node_reap_abandoned_deliveries(qdr_core_t *core, qd_link_t *link
     while (ref) {
         DEQ_REMOVE_HEAD(*list);
         qdr_delivery_t *dlv = (qdr_delivery_t*) ref->ref;
+        ref->ref = 0;
         qdr_delivery_set_context(dlv, 0);
         qdr_delivery_decref(core, dlv, "qdr_node_reap_abandoned_deliveries");
+        free_qd_link_ref_t(ref);
         ref = DEQ_HEAD(*list);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org