Subject: Re: [boost] [Fibers] asio handler not respecting scheduler
From: Nat Goodspeed (nat_at_[hidden])
Date: 2014-01-16 15:58:39


On Thu, Jan 16, 2014 at 3:38 PM, Eugene Yakubovich
<eyakubovich_at_[hidden]> wrote:

> As an unrelated issue, I think this maybe a bug -- it's setting the
> active fiber to ready instead of waiting:
>
> void round_robin::yield()
> {
> <snip>
>
> // set active fiber to state_waiting
> active_fiber_->set_ready();
>
> <snip>
> }
>
> Same issue in round_robin_ws and asio/round_robin.

Not a bug, I believe. Oliver has clarified in previous mail that when
you yield(), the calling fiber isn't waiting *for* anything: it's
merely giving the scheduler a chance to run something else. The
calling fiber is still ready to run, and can be resumed as soon as the
scheduler picks it.