[
https://issues.apache.org/jira/browse/TS-2651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brian Geffon resolved TS-2651.
------------------------------
Resolution: Fixed
> atscppapi: race conditions in destruction of async providers
> ------------------------------------------------------------
>
> Key: TS-2651
> URL: https://issues.apache.org/jira/browse/TS-2651
> Project: Traffic Server
> Issue Type: Bug
> Reporter: Manjesh Nilange
> Assignee: Brian Geffon
> Fix For: 5.0.0
>
>
> There are two corner cases that I can think of -
> 1) Developer delete()ing AsyncHttpFetch before fetch is complete.
> In the .h documentation, we say that the fetch object will delete itself, so
> the implication is that developer need not delete it. However, we don't make
> sure that developer can't. Because if they do it (by mistake) before the
> fetch is complete, the fetch object's state is deleted, and then when the
> fetch actually completes, there will be chaos.
> 2) Developer delete()ing AsyncTimer exactly at the time a timing event
> happens.
> AsyncTimer requires the developer to delete the timer explicitly (with a
> periodic timer, we can't do self-destruction). If developer's delete happens
> at the same time as a event on the continuation, then we will have problems
> as the destructor tries to destroy the continuation that is being invoked in
> another thread.
--
This message was sent by Atlassian JIRA
(v6.2#6252)