[
https://issues.apache.org/jira/browse/DISPATCH-1679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17340792#comment-17340792
]
ASF subversion and git services commented on DISPATCH-1679:
-----------------------------------------------------------
Commit e4ebecfa27f98fd62a78fb2991076c23a2cc2362 in qpid-dispatch's branch
refs/heads/1.16.x from Ken Giusti
[ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=e4ebecf ]
DISPATCH-1679: Make qd_timer_cancel and qd_timer_free synchronous
This patch makes the qd_timer_cancel() and qd_timer_free() routines
block if the timer callback is currently running on another thread.
This ensures that the callback is not executing when these calls
return.
It includes a fix to the HTTP1 adapter to avoid freeing its timer
while holding the adaptor lock.
This closes #1170
(cherry picked from commit 34b3c116dc97f9a1d7caf00fcea0e5e5144e6c45)
Needed by fix for blocker JIRA DISPATCH-2046
> leak: qd_connector_t and qd_timer_t
> -----------------------------------
>
> Key: DISPATCH-1679
> URL: https://issues.apache.org/jira/browse/DISPATCH-1679
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Routing Engine
> Affects Versions: 1.12.0
> Reporter: Ken Giusti
> Assignee: Ken Giusti
> Priority: Major
> Labels: leak
> Fix For: Backlog
>
>
> Every unit test that involves use of a connector leaks the connector and a
> related qd_timer_t. These leak warnings overwhelm other warnings in the test
> output.
> The qd_connector_t is reference counted. It also contains a qd_timer_t.
> From initial debug the reference count is never dropping below 1.
> It appears that every time the timer is scheduled the refcount is
> incremented. This appears to be an attempt to prevent the deletion of the
> qd_connector_t while the timer is outstanding. This appears likely to be the
> source of the outstanding ref count.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]