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

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


The following commit(s) were added to refs/heads/main by this push:
     new 18bce61  DISPATCH-2088: Free message_stream_data objects on connection 
thread
18bce61 is described below

commit 18bce61e79bd8731be0241ba04db3841159da5e5
Author: Chuck Rolke <c...@apache.org>
AuthorDate: Thu Apr 29 15:21:15 2021 -0400

    DISPATCH-2088: Free message_stream_data objects on connection thread
    
    and not on the core thread. Move flush_outgoing_bufs call to
    handle_disconnected function.
    
    This closes #1174
---
 src/adaptors/tcp_adaptor.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/adaptors/tcp_adaptor.c b/src/adaptors/tcp_adaptor.c
index ddd7409..4a260bb 100644
--- a/src/adaptors/tcp_adaptor.c
+++ b/src/adaptors/tcp_adaptor.c
@@ -452,7 +452,6 @@ static void free_qdr_tcp_connection(qdr_tcp_connection_t* 
tc)
     if (tc->activate_timer) {
         qd_timer_free(tc->activate_timer);
     }
-    flush_outgoing_buffs(tc);
     sys_mutex_free(tc->activation_lock);
     //proactor will free the socket
     free_qdr_tcp_connection_t(tc);
@@ -495,6 +494,8 @@ static void handle_disconnected(qdr_tcp_connection_t* conn)
         qdr_delivery_decref(tcp_adaptor->core, conn->initial_delivery, 
"tcp-adaptor.handle_disconnected - initial_delivery");
         conn->initial_delivery = 0;
     }
+    flush_outgoing_buffs(conn);
+
 
     //need to free on core thread to avoid deleting while in use by management 
agent
     qdr_action_t *action = qdr_action(qdr_del_tcp_connection_CT, 
"delete_tcp_connection");

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

Reply via email to