This is an automated email from the ASF dual-hosted git repository. tross pushed a commit to branch dev-protocol-adaptors in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
commit 777f0b7f0709143717291f6819dd20f795dab701 Author: Ted Ross <tr...@apache.org> AuthorDate: Fri Jun 5 10:16:54 2020 -0400 Dataplane: Set proper buffer refcount in messages during buffer-extend. This ensures that the streaming buffers are properly freed when no longer needed. --- src/message.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/message.c b/src/message.c index 87c559e..8b833f3 100644 --- a/src/message.c +++ b/src/message.c @@ -2221,7 +2221,16 @@ void qd_message_compose_5(qd_message_t *msg, void qd_message_extend(qd_message_t *msg, qd_buffer_list_t *buffers) { qd_message_content_t *content = MSG_CONTENT(msg); + qd_buffer_t *buf = DEQ_HEAD(*buffers); + + LOCK(content->lock); + while (buf) { + qd_buffer_set_fanout(buf, content->fanout); + buf = DEQ_NEXT(buf); + } + DEQ_APPEND(content->buffers, (*buffers)); + UNLOCK(content->lock); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org