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

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

There is a race between the adding into the atomic list in the cancelling 
thread, getting dequeued in the controlling thread, and the setting of the 
cancelled flag in the cancelling thread.  One solution is to take the mutex 
lock in the check_ready code as the cancelling thread must be holding that lock 
over the insert into the atomic list and setting the cancelled flag.  Note, you 
could set the cancelled flag before adding to the atomic list and then just 
ignore it in process_thread() (and any other place) counting on it getting 
free'd eventually via the atomic list.  
                
> 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: kuotai
>            Assignee: kuotai
>             Fix For: 3.3.1
>
>         Attachments: linux_time_wheel.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