diff --git a/include/qpid/dispatch/protocol_adaptor.h b/include/qpid/dispatch/protocol_adaptor.h index 5cc099ab8..8bb80b3c3 100644 --- a/include/qpid/dispatch/protocol_adaptor.h +++ b/include/qpid/dispatch/protocol_adaptor.h @@ -137,9 +137,8 @@ typedef void (*qdr_link_second_attach_t) (void *context, * @param error Error record if the detach is the result of an error condition, null otherwise * @param first True if this is the first detach (i.e. initiated outbound), False if this is the * the response to a remotely initiated detach - * @param close True if this is a link close, False if this is a link detach */ -typedef void (*qdr_link_detach_t) (void *context, qdr_link_t *link, qdr_error_t *error, bool first, bool close); +typedef void (*qdr_link_detach_t) (void *context, qdr_link_t *link, qdr_error_t *error, bool first); /** * qdr_link_flow_t callback diff --git a/src/adaptors/amqp/amqp_adaptor.c b/src/adaptors/amqp/amqp_adaptor.c index d11c97bf4..b6ae307bf 100644 --- a/src/adaptors/amqp/amqp_adaptor.c +++ b/src/adaptors/amqp/amqp_adaptor.c @@ -1917,7 +1917,7 @@ static void CORE_close_connection(void *context, qdr_connection_t *qdr_conn, qdr } } -static void CORE_link_detach(void *context, qdr_link_t *link, qdr_error_t *error, bool first, bool close) +static void CORE_link_detach(void *context, qdr_link_t *link, qdr_error_t *error, bool first) { qd_link_t *qlink = (qd_link_t*) qdr_link_get_context(link); if (!qlink) @@ -1949,10 +1949,7 @@ static void CORE_link_detach(void *context, qdr_link_t *link, qdr_error_t *error } } - if (close) - qd_link_close(qlink); - else - qd_link_detach(qlink); + qd_link_close(qlink); // // This is the last event for this link that we are going to send into Proton. diff --git a/src/adaptors/amqp/container.c b/src/adaptors/amqp/container.c index 756af1612..39599eeac 100644 --- a/src/adaptors/amqp/container.c +++ b/src/adaptors/amqp/container.c @@ -911,15 +911,6 @@ void qd_link_close(qd_link_t *link) } -void qd_link_detach(qd_link_t *link) -{ - if (link->pn_link) { - pn_link_detach(link->pn_link); - pn_link_close(link->pn_link); - } -} - - /** sending link has entered Q3 flow control */ void qd_link_q3_block(qd_link_t *link) { diff --git a/src/adaptors/amqp/container.h b/src/adaptors/amqp/container.h index 4766b7fe5..c133c9671 100644 --- a/src/adaptors/amqp/container.h +++ b/src/adaptors/amqp/container.h @@ -98,7 +98,6 @@ pn_terminus_t *qd_link_target(qd_link_t *link); pn_terminus_t *qd_link_remote_source(qd_link_t *link); pn_terminus_t *qd_link_remote_target(qd_link_t *link); void qd_link_close(qd_link_t *link); -void qd_link_detach(qd_link_t *link); void qd_link_free(qd_link_t *link); void qd_link_q2_restart_receive(const qd_alloc_safe_ptr_t context); void qd_link_q3_block(qd_link_t *link); diff --git a/src/adaptors/tcp/tcp_adaptor.c b/src/adaptors/tcp/tcp_adaptor.c index c26454b9b..f4ef56ac9 100644 --- a/src/adaptors/tcp/tcp_adaptor.c +++ b/src/adaptors/tcp/tcp_adaptor.c @@ -2194,7 +2194,7 @@ static void CORE_second_attach(void *context, } -static void CORE_detach(void *context, qdr_link_t *link, qdr_error_t *error, bool first, bool close) +static void CORE_detach(void *context, qdr_link_t *link, qdr_error_t *error, bool first) { } diff --git a/src/router_core/connections.c b/src/router_core/connections.c index 0fd864519..c7977dba6 100644 --- a/src/router_core/connections.c +++ b/src/router_core/connections.c @@ -494,8 +494,7 @@ int qdr_connection_process(qdr_connection_t *conn) case QDR_LINK_WORK_FIRST_DETACH : case QDR_LINK_WORK_SECOND_DETACH : conn->protocol_adaptor->detach_handler(conn->protocol_adaptor->user_context, link, link_work->error, - link_work->work_type == QDR_LINK_WORK_FIRST_DETACH, - link_work->close_link); + link_work->work_type == QDR_LINK_WORK_FIRST_DETACH); detach_sent = true; break; } @@ -1286,7 +1285,6 @@ void qdr_link_outbound_detach_CT(qdr_core_t *core, qdr_link_t *link, qdr_error_t link->detach_count += 1; qdr_link_work_t *work = qdr_link_work(link->detach_count == 1 ? QDR_LINK_WORK_FIRST_DETACH : QDR_LINK_WORK_SECOND_DETACH); - work->close_link = close; if (error) work->error = error; diff --git a/src/router_core/router_core_private.h b/src/router_core/router_core_private.h index b95c9f5e3..df69d8a6d 100644 --- a/src/router_core/router_core_private.h +++ b/src/router_core/router_core_private.h @@ -327,7 +327,6 @@ typedef struct qdr_link_work_t { qdr_error_t *error; int value; qdr_link_work_drain_action_t drain_action; - bool close_link; bool processing; } qdr_link_work_t;