Forgot to mention that this change would restore the old behavior of
TSContSchedule minus the delay and dead loop.

On Tue, Nov 19, 2019 at 2:39 PM Fei Deng <duke8...@apache.org> wrote:

> While PR#6103 (https://github.com/apache/trafficserver/pull/6103) solves
> the problem of having the 60ms delay (caused by waiting in sleep), it also
> creates an issue where the event loop ends up in a "dead loop" if the
> scheduled event schedules itself with 0 timeout (see test code by scw00).
> Here's what I have in mind that will fix the problem.
>
>
>    1. New API "TSContDispatch", which will be basically the current
>    "TSContSchedule" calls with 0 timeouts.
>    2. When scheduling events/continuations using "TSContSchedule" API with
>    0 timeouts, set flag to identify the event to be processed on the next
>    event loop.
>    3. New "LocalQueue" class to handle events that are supposed to be
>    processed in the next event loop.
>
> Here's the branch I'm working on right now, it shows an easy concept of the
> "LocalQueue".
> https://github.com/duke8253/trafficserver/tree/master-event_dispatch
>

Reply via email to