16 Jan
2014
16 Jan
'14
8:58 p.m.
On Thu, Jan 16, 2014 at 3:38 PM, Eugene Yakubovich
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.