|
Boost : |
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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk