[ 
https://issues.apache.org/jira/browse/TS-1405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13608136#comment-13608136
 ] 

John Plevyak commented on TS-1405:
----------------------------------

If everything is correct there should be no race.  You shouldn't be setting the 
'cancelled' flag in cancel_event() since it is set in set_cancelled_event.  
Remove the ink_release_assert().  We should not have any of these: they slow 
the code down and lead to crash storms which are bad for everyone.

There is no race because the caller needs to be holding the mutex, and after 
the call to cancel_event() the event is considered dead (which is why you 
shouldn't be setting the "cancelled" flag AFTER inserting the event into the 
cancel atomic list, because that is a race).
                
> apply time-wheel scheduler  about event system
> ----------------------------------------------
>
>                 Key: TS-1405
>                 URL: https://issues.apache.org/jira/browse/TS-1405
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 3.2.0
>            Reporter: Bin Chen
>            Assignee: Bin Chen
>             Fix For: 3.3.2
>
>         Attachments: linux_time_wheel.patch, linux_time_wheel_v2.patch, 
> linux_time_wheel_v3.patch, linux_time_wheel_v4.patch, 
> linux_time_wheel_v5.patch, linux_time_wheel_v6.patch, 
> linux_time_wheel_v7.patch
>
>
> when have more and more event in event system scheduler, it's worse. This is 
> the reason why we use inactivecop to handler keepalive. the new scheduler is 
> time-wheel. It's have better time complexity(O(1))

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to