This is an automated email from the ASF dual-hosted git repository.

chug pushed a commit to branch dev-protocol-adaptors-2
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git


The following commit(s) were added to refs/heads/dev-protocol-adaptors-2 by 
this push:
     new 4e2fbf0  DISPATCH-1824: Fix TCP adaptor listener and connector 
shutdown leaks
4e2fbf0 is described below

commit 4e2fbf07a3186c9c9652fac8cc1d4ce2fd4c45f1
Author: Chuck Rolke <c...@apache.org>
AuthorDate: Tue Nov 3 13:59:30 2020 -0500

    DISPATCH-1824: Fix TCP adaptor listener and connector shutdown leaks
---
 src/adaptors/tcp_adaptor.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/adaptors/tcp_adaptor.c b/src/adaptors/tcp_adaptor.c
index 85c9a6f..c91a855 100644
--- a/src/adaptors/tcp_adaptor.c
+++ b/src/adaptors/tcp_adaptor.c
@@ -1054,12 +1054,27 @@ static void qdr_tcp_adaptor_final(void *adaptor_context)
     qd_log(tcp_adaptor->log_source, QD_LOG_CRITICAL, "Shutting down TCP 
protocol adaptor");
     qdr_tcp_adaptor_t *adaptor = (qdr_tcp_adaptor_t*) adaptor_context;
 
+    qd_tcp_listener_t *tl = DEQ_HEAD(adaptor->listeners);
+    while (tl) {
+        qd_tcp_listener_t *next = DEQ_NEXT(tl);
+        free_qd_tcp_listener_t(tl);
+        tl = next;
+    }
+
+    qd_tcp_connector_t *tr = DEQ_HEAD(adaptor->connectors);
+    while (tr) {
+        qd_tcp_connector_t *next = DEQ_NEXT(tr);
+        free_qd_tcp_connector_t(tr);
+        tr = next;
+    }
+
     qdr_tcp_connection_t *tc = DEQ_HEAD(adaptor->connections);
     while (tc) {
         qdr_tcp_connection_t *next = DEQ_NEXT(tc);
         free_qdr_tcp_connection(tc);
         tc = next;
     }
+
     qdr_protocol_adaptor_free(adaptor->core, adaptor->adaptor);
     free(adaptor);
     tcp_adaptor =  NULL;


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

Reply via email to