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 2016/06/14 12:52:57 UTC
qpid-dispatch git commit: DISPATCH-387 - Remove the assumption that
core links are always paired with qd-links in CORE_* calls.
Repository: qpid-dispatch
Updated Branches:
refs/heads/master 0f74209f0 -> ebee479ec
DISPATCH-387 - Remove the assumption that core links are always paired with qd-links in CORE_* calls.
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/ebee479e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/ebee479e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/ebee479e
Branch: refs/heads/master
Commit: ebee479ece7fdcf27625dffac9f9ab963f7cc195
Parents: 0f74209
Author: Ted Ross <tr...@redhat.com>
Authored: Tue Jun 14 08:51:05 2016 -0400
Committer: Ted Ross <tr...@redhat.com>
Committed: Tue Jun 14 08:51:05 2016 -0400
----------------------------------------------------------------------
src/router_node.c | 42 +++++++++++++++++++++++++++++++++---------
1 file changed, 33 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/ebee479e/src/router_node.c
----------------------------------------------------------------------
diff --git a/src/router_node.c b/src/router_node.c
index 819a69f..c02b016 100644
--- a/src/router_node.c
+++ b/src/router_node.c
@@ -763,15 +763,22 @@ static void CORE_link_detach(void *context, qdr_link_t *link, qdr_error_t *error
static void CORE_link_flow(void *context, qdr_link_t *link, int credit)
{
qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link);
+ if (!qlink)
+ return;
+
pn_link_t *plink = qd_link_pn(qlink);
- pn_link_flow(plink, credit);
+ if (plink)
+ pn_link_flow(plink, credit);
}
static void CORE_link_offer(void *context, qdr_link_t *link, int delivery_count)
{
qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link);
+ if (!qlink)
+ return;
+
pn_link_t *plink = qd_link_pn(qlink);
if (plink)
@@ -782,6 +789,9 @@ static void CORE_link_offer(void *context, qdr_link_t *link, int delivery_count)
static void CORE_link_drained(void *context, qdr_link_t *link)
{
qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link);
+ if (!qlink)
+ return;
+
pn_link_t *plink = qd_link_pn(qlink);
if (plink)
@@ -792,6 +802,9 @@ static void CORE_link_drained(void *context, qdr_link_t *link)
static void CORE_link_drain(void *context, qdr_link_t *link, bool mode)
{
qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link);
+ if (!qlink)
+ return;
+
pn_link_t *plink = qd_link_pn(qlink);
if (plink) {
@@ -803,12 +816,17 @@ static void CORE_link_drain(void *context, qdr_link_t *link, bool mode)
static void CORE_link_push(void *context, qdr_link_t *link)
{
- qd_router_t *router = (qd_router_t*) context;
- qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link);
- pn_link_t *plink = qd_link_pn(qlink);
- int link_credit = pn_link_credit(plink);
+ qd_router_t *router = (qd_router_t*) context;
+ qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link);
+ if (!qlink)
+ return;
+
+ pn_link_t *plink = qd_link_pn(qlink);
- qdr_link_process_deliveries(router->router_core, link, link_credit);
+ if (plink) {
+ int link_credit = pn_link_credit(plink);
+ qdr_link_process_deliveries(router->router_core, link, link_credit);
+ }
}
@@ -816,9 +834,15 @@ static void CORE_link_deliver(void *context, qdr_link_t *link, qdr_delivery_t *d
{
qd_router_t *router = (qd_router_t*) context;
qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link);
- pn_link_t *plink = qd_link_pn(qlink);
- const char *tag;
- int tag_length;
+ if (!qlink)
+ return;
+
+ pn_link_t *plink = qd_link_pn(qlink);
+ if (!plink)
+ return;
+
+ const char *tag;
+ int tag_length;
qdr_delivery_tag(dlv, &tag, &tag_length);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org